const mapStateToProps = (state) => ({
todos: getVisibleTodos(state.todos, state.visibilityFilter)
})
官方案例TODOS中 state.todos state.visibilityFilter是怎么来的?
const visibilityFilter = (state = 'SHOW_ALL', action) => {
switch (action.type) {
case 'SET_VISIBILITY_FILTER':
return action.filter
default:
return state
}
}
export default visibilityFilter
是reducer里的这个方法吗
const todoApp = combineReducers({
todos,
visibilityFilter
})
然后state.visibilityFilter可以直接取到state值show_all?
combineReducers
将所有的reducer
放到一个对象里面。当 state 发送变化时,遍历 reducer 对象,再根据 reducer 的 key 取出 state 里面的一部分处理。
可以看看这个源码解析的 combineReducers 部分