1.当把所有数据以及对数据的操作都放在同一个文件中时,这个文件必须会变得非常大,这样的话设计就显得不够合理。(一般一个文件的代码别超过300行)
const defaultState = {
focused: false
};
export default (state = defaultState, action) => {
if (action.type === 'search_focus') {
return {
focused: true
}
}
if (action.type === 'search_blur') {
return {
focused: false
}
}
return state;
}
解决办法:我们可以对reducer进行拆分
拆分多个文件存放数据,对应的组件可以有对应的reducer
eg,对于header,我们可以在其下创建相应的store文件夹存放其相关reducer
combineReducers可以把一些小的reducer合成大的reducer
在src/store/reducer下配置
import { combineReducers } from 'redux';
import headerReducer from '../common/header/store/reducer';
export default combineReducers({
header: headerReducer
})