这个问题是asked on GitHub,答案是“嘿,你听说过这个网站Stack Overflow吗?你应该在那里问这个问题!"。
所以我在这里,问一个问题!
React Native是否支持 IndexedDB ?
当重构一个现有的web应用程序以支持react-native
时,是否必须放弃 IndexedDB 支持?或者, IndexedDB 是否可以开箱即用?
回答上述问题的原因是什么? IndexedDB 不能工作仅仅是因为我们不在浏览器中,而且React Native当前没有实现该API吗?我们可以在React Native中使用polyfill IndexedDB 吗?或者,我们是否应该为该平台求助于替代的持久化方法?
我是作为一个技术主管提出这个问题的,我想知道react-native
对我们的团队来说是一个容易还是困难的过渡。
5条答案
按热度按时间iklwldmw1#
不支持,到目前为止,React Native不支持IndexedDB。
对于React Native中的持久性存储,选项包括:
AsyncStorage:存储对象的最简单方法,提供基于键值的异步API来存储数据。只提供基本的get-put API,不适合搜索查询。
Realm:完全成熟的面向文档的移动的数据库,具有复杂查询的能力。有专业版和免费开源版。开发与服务器同步的离线应用程序的最佳选择。
5w9g7ksd2#
我认为react-native目前不支持它,但是如果您希望数据持久化,您可以始终使用
AsyncStorage
:https://facebook.github.io/react-native/docs/asyncstorage.html或者如果使用redux,则可以使用redux-persist。
llew8vvj3#
我在给你一个机会。
有一个非常非常昂贵的许可证为亲,但它基本上是免费和开源的,所以你可以自由尝试没有限制,如果你不使用他们的平台。
以下是react native的具体官方文档:https://realm.io/docs/javascript/latest
nwlls2ji4#
Pouchdb是在web和react-native中使用indexeddb的另一种方式。
Pouchdb可以在任何浏览器中工作,如果不支持indexeddb或webSQL。在react-native pouchdb上,有一个适配器可以连接到sqlLit。
在任何环境中,您代码都是相同
vq8itlhq5#
如果你使用Expo,你也有
expo-sqlite
,但是它有时会变得很糟糕,他们的API很难使用。我不得不 Package 它,这样我就可以让它与async wait一起工作。