Я читал документацию Redux, и что-то действительно смутило меня. Многие, если не все, примерные функции редуктора в документации имеют такой тип подписи:
function visibilityFilter(state = 'SHOW_ALL', action) {
switch (action.type) {
case 'SET_VISIBILITY_FILTER':
return action.filter
default:
return state
}
}
Какой смысл предоставлять значение по умолчанию state
, когда action
все равно требуется?
В этом конкретном примере кода вызов visibilityFilter
без предоставления аргумента action
приведет к TypeError
в операторе switch.
Но для того, чтобы укажите параметр action
, параметр state
также должен быть указан, поэтому значение по умолчанию переопределяется и становится бесполезным. Насколько я знаю, в синтаксисе JavaScript просто нет способа вызвать эту функцию visiblityFilter
, предоставив только параметр action
.
Это просто какой-то в стиле фанк / плохой стиль кодирования в мир Redux? Чего мне не хватает?