如何使用用户ID令牌React Native和Firebase相应地存储数据?

时间:2020-04-05 11:40:38

标签: reactjs react-native firebase-authentication token react-native-firebase

我是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

那么我们该如何存储该令牌,因此下次用户再次打开该应用程序时,它将以静默方式登录?我该如何为每个用户附加那些旅行清单?就像当用户再次登录时一样,他/她将看到之前的行程

我很高兴学习文章或阅读资源以了解工作进度。像是什么要求(云,数据库等等),或者需要完成什么阶段...(不需要代码)

请帮助

2 个答案:

答案 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)并获取关联的旅程。