gpt4 book ai didi

node.js - React Redux - 将多个存储增强器传递给 createStore() 时出错

转载 作者:行者123 更新时间:2023-12-03 12:12:09 24 4
gpt4 key购买 nike

我有一个运行 redux 和 thunk 的 React 应用程序,它一直运行良好。我需要在页面重新加载时保持存储状态,以便数据不会丢失,因此创建了一个将数据存储在 localstorage 中的函数,然后返回准备添加到 createStore ( https://stackoverflow.com/a/45857898/801861 ) 的数据。数据存储工作正常并返回准备好设置状态的对象。在 createStore 中添加数据对象时, react 无法编译并出现此错误:

错误:看起来您正在向 createStore() 传递几个商店增强器。这不受支持。相反,将它们组合成一个函数

这是当前代码返回错误:

const store = createStore(reducers, LoadState, applyMiddleware(thunk) );

//Error: It looks like you are passing several store enhancers to createStore(). This is not supported. Instead, compose them together to a single function

我正在运行的原始代码:
const store = createStore(reducers, applyMiddleware(thunk) );

我试图在网上发现的一些类似问题之后解决这个问题,编译但破坏了最初工作正常的站点代码:
const composeEnhancers = LoadState || compose;
const store = createStore(reducers, composeEnhancers( applyMiddleware(thunk) ) );
//Error: Actions must be plain objects. Use custom middleware for async actions.

不确定我需要改变什么才能让它工作,任何帮助表示赞赏。

最佳答案

我认为您正在学习在以前版本的 redux 中执行任务的教程。
您需要创建一个 composeEnhancer,它将接收您的 Redux Dev Tools 扩展,如图所示

const composeEnhancer = window.__REDUX_DEVTOOLS_EXTENSION_COMPOSE__ || compose;
从'redux'导入compose后显然如图所示 -
import {createStore, compose, applyMiddleware} from 'redux';
然后,您可以创建如图所示的商店 -
const Store = createStore(rootReducer, composeEnhancer(applyMiddleware(thunk)))

关于node.js - React Redux - 将多个存储增强器传递给 createStore() 时出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56215220/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com