如何在世博会的网络浏览器中使用 sessionStorage

Posted

技术标签:

【中文标题】如何在世博会的网络浏览器中使用 sessionStorage【英文标题】:How can I use sessionStorage in web browser on expo 【发布时间】:2020-08-30 19:08:21 【问题描述】:

我想在 expo-web 开发中使用 sessionStorage

如何使用 expo 访问基于浏览器的存储?

【问题讨论】:

【参考方案1】:

您可以像在常规 javascript 项目中一样轻松访问它。

sessionStorage.setItem('foo', 'bar');

请注意,但是,如果您希望此代码同时在 Web 和 Native 上运行,则需要在使用之前确保 sessionStorage 存在。

const getStoredItem = (key) => window && window.sessionStorage && sessionStorage.getItem(key)

这是必需的,因为您的 Expo 应用程序不会在编译为本机应用程序后具有 sessionStorage API。

【讨论】:

你的意思是如果存在全局窗口对象,尝试使用sessionStorage?对吗? 对不起,我不清楚。我的意思是,您的应用程序运行的环境非常不同,无论是在设备上作为本机应用程序还是在浏览器中。不能保证window 对象甚至window.sessionStorage 对象的存在。因此,您总是希望在尝试使用它之前检查它们的存在(如我上面的示例)。否则,您可能会导致应用崩溃。 实际上,如果您想了解我的意思,只需尝试在您的应用程序中使用sessionStorage 做一些事情,然后在浏览器和应用程序中运行它。我相信你会更好地理解我的意思。 您可能还想研究使用像 localForage 这样的库。然后,您可以根据应用运行的位置对其进行不同的配置。

以上是关于如何在世博会的网络浏览器中使用 sessionStorage的主要内容,如果未能解决你的问题,请参考以下文章

如何在特定浏览器中启动 Expo Web?

web。config中如何修改sessionstate 模式设置

如何在世博会的图像选择器中选择视频?

触摸在本机反应中无法在博览会网络中工作

没有这样的表-世博会中的 SQLite 反应原生项目

使用 protobuf-net 的 ASP.NET SessionState 模式 SQLServer 序列化