import React from 'react'
import App from './App'
import { Provider } from 'react-redux'
import Store from './redux/store'
const Routes = () =>(
<Provider store={Store}>
<App />
</Provider>
)
export default Routes
store.js
import { createStore, applyMiddleware } from 'redux';
import thunk from 'redux-thunk';
import promiseMiddleware from 'redux-promise-middleware';
import logger from 'redux-logger';
import rootReducer from './reducer/index';
const Store = createStore(
rootReducer, //所有reducers方法的集合
applyMiddleware(promiseMiddleware(), thunk, logger) //引入中间件
);
export default Store;
reducer/index
import { combineReducers } from 'redux';
import Numbers from './number';
import Age from './age';
const rootReducer = combineReducers({ //把所有reducer函数都集中到这里
Numbers,
Age
});
export default rootReducer
reducer/age
const initState = {age: 1, count: 100}
function Age(state = initState, action){
switch(action.type){
case 'ADD_AGE_FULFILLED': //在后文中,我们的action.type是ADD_AGE,在这里被执行的原因是我们使用了中间件redux-promsie-middleware 的原因
return {...state, age:state.age+1 }
case 'SUB_AGE':
return { ...state, age:state.age-1 }
default:
return state
}
}
export default Age
reducer/numer
const initState = {num: 1}
function Numbers(state = initState, action){
return state
}
export default Numbers