redux sagas 设置
index
import React from 'react'; import ReactDOM from 'react-dom'; import {HashRouter as Router,Route,Switch} from 'react-router-dom'//导入的方式跟之前有点变化 import './index.css'; import registerServiceWorker from './registerServiceWorker'; import { Provider } from 'react-redux'; import configure from './store/configureStore'; import rootSaga from './store/sagas/index'; import { App, Home, Redux, } from './pages'; const store = configure({ config: global.$GLOBALCONFIG }); store.runSaga(rootSaga); const RouterList = () => ( <Router> <div> <Switch> <Route exact path="/" component={App}/> <Route exact path="/home" component={Home}/> <Route exact path="/redux" component={Redux}/> </Switch> </div> </Router> ) ReactDOM.render( <Provider store={store}> <RouterList /> </Provider>, document.getElementById('root') ); // registerServiceWorker();
store目录下(包括 actions、reducers、sagas) 添加一个文件configureStore.js
import { createStore, applyMiddleware } from 'redux'
import createSagaMiddleware, { END } from 'redux-saga';
import { createLogger } from 'redux-logger';
import rootReducer from './reducers'
export default function configure(initialState) {
const create = window.devToolsExtension
? window.devToolsExtension()(createStore)
: createStore
const sagaMiddleware = createSagaMiddleware();
let middlewares=[sagaMiddleware];
//if (process.env.NODE_ENV === 'development') {
const logger = createLogger({
// ...log options
});
middlewares.push(logger);
//}
const createStoreWithMiddleware = applyMiddleware(...middlewares)(create)
const store = createStoreWithMiddleware(rootReducer, initialState)
store.runSaga = sagaMiddleware.run;
store.close = () => store.dispatch(END);
return store
}
reducers目录下添加一个 index.js
/** * reducer组件引导页 * * 所有在本文件夹中申明的reducer组件须在本组件注册合并,否则无法使用 * * @date 2017-07-06 * @author shuwenjie<4483378@qq.com> */ import { routerReducer as routing, } from 'react-router-redux' import { combineReducers, } from 'redux' import tally from './tally'; const rootReducer = combineReducers({ routing, config: (state = {}) => state, tally }); export default rootReducer;
sagas目录下添加一个index,js
/** * saga组件引导页 * * 所有在本文件夹中申明的saga组件须在本组件注册监听,否则无法使用 * * @date 2017-07-06 * @author shuwenjie<4483378@qq.com> */ import { fork } from 'redux-saga/effects'; import * as tally from './tally'; export default function* rootSaga() { yield [ //系统配置化数据 fork(tally.watchRequestCustomerCustomerList), ]; }

浙公网安备 33010602011771号