这是在redux中实现中间件的正确方法吗?

时间:2018-04-30 01:04:18

标签: javascript 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;




1 个答案:

答案 0 :(得分:0)

没有。您将中间件增强器作为参数传递给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;