35. 配置store,使得既支持使用ReduxDevTools调试工具,又可以使用Redux thunk中间件 - yiqunkeke/react-jianshu-shangguigu-zty GitHub Wiki
1.store只使用reduxDevTools调试工具
import { createStore } from 'redux'
import reducer from './reducer'
const store = createStore(reducer, window.__REDUX_DEVTOOLS_EXTENSION__ && window.__REDUX_DEVTOOLS_EXTENSION__())
export default store
2.store只使用redux-thunk中间件
import { createStore, applyMiddleware } from 'redux'
import reducer from './reducer'
import thunk from 'redux-thunk'
const store = createStore(reducer, applyMiddleware(thunk))
export default store
可以看出,在创建store的时候,都是在createStore的第二个参数中传入。
3.但如果想同时使用 redux DevTools 和 redux thunk 中间件该怎么办?
在github 中搜索 https://github.com/zalmoxisus/redux-devtools-extension (重点去阅读,所有配置都很详细)可以查看解决办法。
import { createStore, applyMiddleware, compose } from 'redux';
import reducer from './reducer'
import thunk from 'redux-thunk'
const composeEnhancers =
typeof window === 'object' &&
window.__REDUX_DEVTOOLS_EXTENSION_COMPOSE__ ? window.__REDUX_DEVTOOLS_EXTENSION_COMPOSE__({}) : compose;
const enhancer = composeEnhancers(
applyMiddleware(thunk),
);
const store = createStore(reducer, enhancer);
这样配置好store之后 ,我们的项目就既可以使用redux devTools调试store,同时也支持redux-thunk中间件了。