【问题标题】:How to store data correspondingly with user id token React Native and Firebase?如何使用用户 id 令牌 React Native 和 Firebase 对应存储数据?
【发布时间】:2020-04-05 11:40:38
【问题描述】:

我是 React Native 的新手,在每个登录应用的用户中存储数据时遇到了困难

我已成功将 Firebase google 身份验证添加到我的应用程序中,该应用程序是一个旅行应用程序。 (我使用 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

那么我们如何存储该令牌,以便下次用户再次打开应用程序时,它会静默登录?以及如何为每个用户附加这些旅行列表?就像当用户再次登录时,他/她会看到他/她之前的行程

我很乐意学习文章或阅读资源以了解工作进度。比如有什么需求(云、数据库、..),或者需要完成哪些阶段......(不需要代码)

请帮忙

【问题讨论】:

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


    【解决方案1】:

    登录后可以用redux、AsyncStorage、redux-persist等保存用户token。

    例如,要绕过登录,您可以设置一个StartScreen(我建议使用react-navigation),如果用户的uid 已设置,则您可以在其中签入redux,如果已设置,您可以导航到@ 987654325@ 否则你可以导航到AuthScreen

    要将用户与他的旅行联系起来,您可以将 trips 保存在 Cloud Firestore 上,并向 trip 对象添加一个包含用户 uid 的参数。这样,当用户登录时,您还可以向 Firebase 发送请求(使用uid)并获取相关行程。

    【讨论】:

    • 谢谢马可。我可以再问 1 个问题:当用户看到他的行程时,我们需要从云端请求。如果我们从实时数据库请求有什么区别?
    • 然后,当我们添加旅行共享功能时,我们需要使用云存储来做到这一点吗?
    • @Marwin 我建议你阅读这篇文章:medium.com/datadriveninvestor/…
    【解决方案2】:

    我真的建议您了解如何管理应用程序的状态。您正在寻找的是像 Redux 这样的状态容器。

    我告诉你在哪里可以找到它:https://redux.js.org/introduction/getting-started

    之后,您可以在应用程序的内存中创建数据库,或使用 AsyncStorage 保存它:https://reactnative.dev/docs/asyncstorage

    【讨论】:

    • 感谢您的帮助。但是,我已经将 Redux 商店添加到我的应用程序中。我正在使用 Firebase 数据库。并尝试使用 Redux-persist 来存储数据。我需要的是所需步骤的一般说明,而不是关于如何使用这些工具
    猜你喜欢
    • 1970-01-01
    • 2018-08-21
    • 1970-01-01
    • 2018-02-27
    • 2020-12-16
    • 2017-05-22
    • 1970-01-01
    • 2019-11-03
    • 2020-03-19
    相关资源
    最近更新 更多