【问题标题】:Do I need to use redux-persist if I am trying to use firebase with my react native application?如果我尝试在我的 react native 应用程序中使用 firebase,是否需要使用 redux-persist?
【发布时间】:2020-05-22 00:28:48
【问题描述】:

我试图在用户打开我的 react-native 应用程序时检查他的身份验证状态。在我的应用程序关闭后,我使用 redux-persist 让我的反应存储在设备上持续存在。我的问题是,如果我要使用 firebase 身份验证,我需要这样做吗?关于同时使用 firebase 和 redux-persist 的“规则”是什么?如何确保它们正常工作?

【问题讨论】:

    标签: react-native redux firebase-authentication persistence


    【解决方案1】:

    看到 redux-persist 的全部意义在于存储 redux 状态,即使应用程序通过 AsyncStorage/sql-lite-storage 关闭。

    我相信您之前曾经存储过您的 JWT 令牌并检查其是否有效并向用户显示相应的屏幕。

    现在由于 FirebaseAuth 没有任何此类流程,您可以在 redux persist 配置中省略 loginReducer。 像这样:

    const persistConfig = {
      key: 'root',
      storage: storage,
      blacklist: ['navigation'] // navigation will not be persisted
    };
    

    但是可能还有其他一些地方你使用 redux store ,比如假设我使用 redux persist 来存储用户的行程数据,所以它不会每次都获取。所以只要看看你的目的是什么。

    希望对您有所帮助。如有疑问,请随意。

    【讨论】:

    • 我的问题是我使用 redux persist 只是作为在线课程的一部分来理解这个概念的一种方式。我尝试使用默认的 firebase 持久性,它工作正常。但正如你所说,我可能想存储该州的其他部分,但我还没有做出决定。我只是对 firebase 默认持久性和 redux persist 将如何交互感到困惑。我想我将把探索留到另一天。
    • redux persist 只是 redux 的一部分,redux 与 firevbase 配合得很好,那么我认为 redux persists 不会造成问题
    • 关于如何清除 redux 持久化状态的任何想法?我不能让它清除大声笑
    • blacklist: ['navigation'] 是你写你不想保存的reducer的地方
    • 不,我的意思是我要从我的应用程序中完全删除持久化。我想知道如何清除存储先前持久状态的本地存储。结果是它的 persistor.purge()
    猜你喜欢
    • 2017-08-20
    • 1970-01-01
    • 1970-01-01
    • 2022-08-04
    • 1970-01-01
    • 1970-01-01
    • 2018-12-27
    • 2023-02-23
    • 2021-09-16
    相关资源
    最近更新 更多