【问题标题】:Redux store is filled with a bunch of strange propertiesRedux store 充满了一堆奇怪的属性
【发布时间】:2022-01-08 18:13:21
【问题描述】:

我一直在我的项目中使用 Redux 来存储应用程序状态,直到现在它都按预期工作。然后,我到了需要在应用程序中持久化商店状态的阶段,在网上查看后,我尝试集成 react-persist 库。

集成似乎进展顺利,现在商店状态已保留在应用程序中。

但是,当我在浏览器中的 redux dev 中查看商店状态时,我看到一大堆我根本不认识的属性,而且我没有看到我创建的切片。我还看到发送了一堆未知操作,当我发送自己的操作时,它没有显示在操作列表中,但同样,该应用程序运行完美,正如我所期望的那样

这让我很担心,因为我经常使用这个开发工具来使应用程序运行,但是对于未来的更新,我不知道如何调试。

这是当前商店在开发工具中的截图。

我不确定是否有任何代码有用,因为我不知道代码的哪一部分可能是由此产生的结果。如果您需要查看一段代码,我可以根据要求添加。谢谢。

【问题讨论】:

    标签: reactjs redux


    【解决方案1】:

    我自己发现问题在于,在集成 redux-persist 时,我从 configureStore() 切换到 createStore()(不是确定我是否仍然可以保持这种方式,但是库的示例是使用 createStore()),并且我没有将 window.REDUX_DEVTOOLS_EXTENSION_COMPOSE 添加到存储中。

    所以,我添加的代码是

    const composeEnhancers = window.__REDUX_DEVTOOLS_EXTENSION_COMPOSE__ || compose;
    

    然后,将这个 composeEnhancers 传递给 createStore(),如下所示:

    export default  createStore(persistedReducer, composeEnhancers());
    

    【讨论】:

    • 您可以将 redux-persist 与 configureStore 一起使用。您现在可能不应该直接使用 createStore。
    • 关于如何使用 redux-persist 和 configureStore 设置存储的任何指南?我发现的所有示例都是几年前的,并且都在使用 createStore
    • 没什么不同。您唯一需要知道的是,您也可以将reducer 传递给configureStorereducer 选项,它不需要是reducers 的对象。所以只要把你的persistedReducer 传进去。
    猜你喜欢
    • 1970-01-01
    • 2013-09-01
    • 1970-01-01
    • 2013-07-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-07-03
    相关资源
    最近更新 更多