这是在Redux中实现中间件的正确方法



我正在尝试调试Redux商店以进行异步操作。但是我无法通过派遣来传播,因此我将发布一系列问题,以帮助自己找到自己的问题。我需要确保的第一件事是我正确地应用了Redux-thunk。因此,这是实现Redux中间件的正确方法吗?

import { createStore,applyMiddleware,combineReducers,compose } from 'redux';
import thunk from 'redux-thunk';
import {createLogger} from 'redux-logger';
import {inventoryFilter,availableAttributes} from '../reducers/reducer';
const logger=createLogger()
const Store = createStore(
///combine imported reducers
 combineReducers({
    activeFilter:inventoryFilter,
    availableAttributes:availableAttributes
},{},applyMiddleware(thunk,logger)
));
export default Store;

no。您将中间件增强器作为参数传递给combineReducers,而实际上应该是createStore的参数。

这是我写的:

import { createStore,applyMiddleware,combineReducers,compose } from 'redux';
import thunkMiddleware from 'redux-thunk';
import {createLogger} from 'redux-logger';
import {inventoryFilter,availableAttributes} from '../reducers/reducer';

const rootReducer = combineReducers({
    activeFilter:inventoryFilter,
    availableAttributes:availableAttributes
});
const loggerMiddleware = createLogger();
const middlewareEnhancer = applyMiddleware(thunkMiddleware, loggerMiddleware);
const store = createStore(rootReducer, middlewareEnhancer);
export default store;

最新更新