#redux
#redux
Вопрос:
Я хочу получать уведомления, если я забуду обработать тип действия в своих редукторах. Я мог бы создать редуктор с целым списком типов действий для проверки, но это не мешает мне забыть изменить редукторы в первую очередь.
Редактировать: я использую несколько редукторов с combineReducers.
Ответ №1:
Всегда будет существовать по крайней мере один необработанный тип действия: INIT. В режиме разработки redux отправляет действие со случайным типом, а также вне режима разработки вы не должны выполнять это действие (именно по этой причине оно является случайным в режиме разработки).
Действительно: можно отправлять действия, которые не обрабатываются редукторами (пока). Действия должны описывать то, что происходит в вашем приложении, а не обязательно восприниматься как «вызов изменения состояния».
Но добавим к этому: если вы пишете modern redux, то также довольно редко случается, что это происходит случайно. Возможно, вы захотите изучить modern redux с помощью redux toolkit — последняя ссылка — хорошее начало, а официальный учебник redux essentials станет хорошим местом для изучения современных шаблонов redux. Также взгляните на руководство по стилю redux.
Ответ №2:
Да, это возможно. Вы можете выдать ошибку, если ни один тип действия не соответствует.
Используйте это в конце функции reducer . (но не устанавливайте тип по умолчанию)
throw new Error("Action not matched");
Комментарии:
1. Это не сработает при использовании нескольких редукторов с combineReducers, потому что один редуктор выдаст эту ошибку, даже если другой редуктор обработает это действие.