在减速器的Redux basics tutorial部分,我无法完全理解下面的语法是如何推导应用状态的哪个子集传递给每个引用的reducer调用combineReducers。它是否与Reducer名称上的状态成员名称完全匹配?Redux - 组合减速器如何知道应用状态的哪个子组通过减速器
import { combineReducers } from 'redux'
import { ADD_TODO, COMPLETE_TODO, SET_VISIBILITY_FILTER, VisibilityFilters } from './actions'
const { SHOW_ALL } = VisibilityFilters
function visibilityFilter(state = SHOW_ALL, action) {
switch (action.type) {
case SET_VISIBILITY_FILTER:
return action.filter
default:
return state
}
}
function todos(state = [], action) {
switch (action.type) {
case ADD_TODO:
return [
...state,
{
text: action.text,
completed: false
}
]
case COMPLETE_TODO:
return state.map((todo, index) => {
if (index === action.index) {
return Object.assign({}, todo, {
completed: true
})
}
return todo
})
default:
return state
}
}
const todoApp = combineReducers({
visibilityFilter,
todos
})
export default todoApp
该代码没有。你必须在组件本身内部指定。 – Derek
正确。我想如果它不使用新的ES6语法,它会更明显。 联合收割机({todos:myTodoReducer }) – ken4z