數據都放在reducer.js下不利於對數據進行管理,能夠把一個大的reducer.js拆分紅多個小的reducer.js。redux
小的reducer.jsspa
const defaultState={ focused:false } export default(state=defaultState,action)=>{ if(action.type=='input_focus'){ return {focused:true} } if(action.type=='input_blur'){ return {focused:false} } return state; }
大的reducer.jscode
import {combineReducers} from 'redux' import {reducer as headerReducer} from '../common/header/store' const reducer=combineReducers({ header:headerReducer }); export default reducer;
注意在組件中使用「state.header.focused」而不是「state.focused」blog
const mapStateToProps = (state) => { return { focused:state.header.focused } }