我是React Native的新手,正在努力在每个登录该应用程序的用户中存储数据
我已成功将Firebase谷歌身份验证添加到我的旅行应用程序中。 (我使用react-native-firebase库)
以下是流程中的数据:
1. User chooses locations
2. User choose date, name
3. App generates a list of trips for users ( trips are stored in Redux, displayed by FlatList)
由于我们仅使用Google身份验证,所以我们也拥有该用户的令牌以及Firebase身份验证的uid
。
那么我们该如何存储该令牌,因此下次用户再次打开该应用程序时,它将以静默方式登录?我该如何为每个用户附加那些旅行清单?就像当用户再次登录时一样,他/她将看到之前的行程
我很高兴学习文章或阅读资源以了解工作进度。像是什么要求(云,数据库等等),或者需要完成什么阶段...(不需要代码)
请帮助
答案 0 :(得分:1)
我真的建议您学习如何管理应用程序状态。您正在寻找的是像Redux这样的状态容器。
我在这里让您可以找到它:https://redux.js.org/introduction/getting-started。
之后,您可以在应用程序的内存中存储创建数据库或使用AsyncStorage进行保存:https://reactnative.dev/docs/asyncstorage
答案 1 :(得分:1)
登录后,您可以使用redux,AsyncStorage,redux-persist等保存用户令牌。
例如,要绕过登录,您可以设置StartScreen
(建议使用react-navigation
),您可以在其中检查redux是否设置了用户uid
,是否设置了{设置,您可以导航到HomeScreen
,否则可以导航到AuthScreen
。
要将用户与其旅行联系起来,您可以将trips
保存在Cloud Firestore上,并将包含用户trip
的参数添加到uid
对象。这样,当用户登录时,您还可以向Firebase发送请求(使用uid
)并获取关联的旅程。