我正在为Expo上的移动设备创建React Native应用程序。当我们尝试制作移动应用程序时,我们通常应该管理该应用程序中的状态。然而,我正在使用Expo。当然,Expo可以轻松快速地启动React Native App,但有时Expo无法接受模块。
所以,在这种情况下,我试图使用Realm来管理状态,但Expo无法遵循这一点。
你能教我在React Native on Expo中哪种方式的国家管理更好吗?
有几种方法可以做到这一点,其中两种我知道并使用过:
AsyncStorage
:这是react-native
的默认设置,您不需要安装任何东西就可以使用它,这里有一些关于它的教程和文档。
- https://facebook.github.io/react-native/docs/asyncstorage
- https://medium.com/building-with-react-native/what-is-asyncstorage-in-react-native-and-how-you-to-use-it-with-app-state-manager-1x09-b8c636ce5f6e
- https://medium.com/@richardzhanguw/存储和检索对象-使用同步存储-实际-活动-6bb1745fdcdd
React-Redux
:这是我经常使用的东西,它利用了AsyncStorage
,但允许您创建更好的存储流和持久化数据系统,因此当您关闭应用程序并重新打开它时,数据仍然存在。我发现React-Redux
在正确学习后会容易得多,这里有一些文档
- http://www.reactnativeexpress.com/redux
- https://alligator.io/react/react-native-redux/
- https://medium.com/@雷费雷拉/反应-本机-反应-导航-接收2014 d648
在谷歌上快速搜索(react native using react redux
或react native using async storage
)会给你提供一些非常有用的文档/教程,如果你遇到困难,你总是会有Stackoverflow。
有多种方式
- 冗余(https://redux.js.org/)
- mobx(https://mobx.js.org/intro/overview.html)
- 反应上下文API(https://reactjs.org/docs/context.html)
对于小型应用程序,我更喜欢使用react上下文,而对于规模较大的应用程序,则使用redux