createStore 已被@弃用,所以我尝试用configurationStore 替换

Man*_*P22 3 javascript reactjs redux redux-toolkit

createStore 是 @deprecated 所以我试图用configurationStore替换,我认为来自我的集群的发布数据因此没有显示

```

import React from 'react';
import ReactDom from 'react-dom/client';
import { Provider } from 'react-redux';
import {createStore, applyMiddleware, compose } from 'redux';
import thunk from 'redux-thunk';

import reducers from "./reducers";

import App from './App'

const store = createStore(reducers, (compose(applyMiddleware(thunk))))
const root = ReactDom.createRoot(document.getElementById("root"));

root.render(
    <Provider store={store}>
        <App />
    </Provider>
);
Run Code Online (Sandbox Code Playgroud)


And im trying to do it like this:

    

Run Code Online (Sandbox Code Playgroud)


And im trying to do it like this:

    

Run Code Online (Sandbox Code Playgroud)

当然它不起作用我正在尝试弄清楚它是怎么回事

phr*_*hry 9

你会做

const store = configureStore({ reducer: reducers })
Run Code Online (Sandbox Code Playgroud)

中间件thunk自动激活。compose并且applyMiddleware不再需要了。亦是如此combineReducers

如果你有

const reducers = combineReducers({
  a: reducerA,
  b: reducerB
})
Run Code Online (Sandbox Code Playgroud)

你也可以这样做

const store = configureStore({ 
  reducer: {
    a: reducerA,
    b: reducerB
  }
})
Run Code Online (Sandbox Code Playgroud)

如果您仍在使用createStore,这意味着您通常使用过时的 Redux 风格,大约是现代 Redux 代码的 4 倍。

现代 Redux 不使用switch..case减速器、ACTION_TYPE常量、不可变的减速器逻辑、手写动作创建器或connect& mapStateToProps。您可能被过时的教程误导了。

我强烈建议您遵循官方 Redux 教程,这将使您了解现代 Redux 并最终使代码更加干净且易于维护。