源起
我们都知道如何在react文件中使用redux,但是你们有没有遇到在普通的纯js中使用redux的场景呢,比如:公共方法文件utils.js等
如何处理
废话不多说,直接上代码,具体的解释会放在代码注释中
入口文件 index.js:
import { applyMiddleware, createStore } from 'redux';
import createSagaMiddleware from 'redux-saga';
import rootReducer from './reducers';
import rootSaga from './sagas/index';
/**
* 生成一个redux的中间件,位于action和store中间
* redux-saga:将异步的逻辑放到独立的文件进行处理
* 工作流程:捕捉数据请求的action ——> saga进行异步数据获取 ——> put一个action给store ——> reducer ——> store数据更新 ——> component视图展示
*/
const sagaMiddleware = createSagaMiddleware();
/**
* applyMiddleware():将所有的中间件组成一个数组,然后依次执行
* createStore(reducer, [preloadedState], enhancer):创建一个redux store来存放所有的state
*/
export const reduxStore = createStore(rootReducer, applyMiddleware(sagaMiddleware));
// 调用sagaMiddleware.run()方法传入引入的sagas文件
sa