簡體   English   中英

這是在Redux中實現中間件的正確方法嗎?

[英]Is this the correct way to implement middleware in 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; 

不。您要將中間件增強程序作為參數傳遞給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;

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM