如題:
1. 我們在 Redux 中使用 thunk 中間件時凄诞,平常使用的方法如下:
const store = createStore( reducer, thunk); // 注意這里的 reducer 是我們自定義的 reducer 方法
export default store;
或者如下圆雁,跟上面不一樣的地方create store 時傳入了默認的 state
import {createStore} from 'redux';
import reducer from './reducer';
const store = createStore( reducer, defaultState, thunk); //defaultState是我們自定義的 默認state
export default store;
2. 想使用 DevTools 時上面的創(chuàng)建 store 的方法就變成了下面這樣:
import {createStore} from 'redux';
import reducer from './reducer';
const store = createStore( reducer, window.__REDUX_DEVTOOLS_EXTENSION__ && window.__REDUX_DEVTOOLS_EXTENSION__());
export default store;
3. 將第一步和第二步結合起來的代碼如下:
import {createStore, applyMiddleware, compose} from 'redux';
import reducer, {defaultState} from '../reducer'; //這里reducer,defaultState是自己定義的
import thunk from 'redux-thunk';
const composeEnhancers = window.__REDUX_DEVTOOLS_EXTENSION_COMPOSE__ ? window.__REDUX_DEVTOOLS_EXTENSION_COMPOSE__({}) : compose;
const enhancer = composeEnhancers(applyMiddleware(thunk));
const store = createStore( reducer, defaultState, enhancer); //第二個參數可以省略 寫成 const store = createStore( reducer, enhancer );
export default store;
如果對您有幫助帆谍,請動動手指伪朽,留下已贊。非常感謝??