W sekcji Redux basics tutorial na temat Reduktorów nie mogę w pełni zrozumieć, w jaki sposób następująca składnia wnioskuje, który podzestaw stanu aplikacji należy przekazać do każdego reduktora wymienionego w wezwanie do łączeniaReducers. Czy jest to tylko dopasowanie nazwy państwa na nazwę reduktora?Redux - w jaki sposób CombineReducers wie, który podzbiór stanu aplikacji przechodzi do reduktora
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
Ten kod nie jest. Musisz określić, że wewnątrz samych komponentów. – Derek
Prawidłowo. Myślę, że gdyby nie używać nowej składni ES6, byłoby to bardziej oczywiste. combineReducers ({ todos: myTodoReducer }) – ken4z