Как обсуждалось здесь, похоже, что редукторы React должны быть чистыми функции и никогда не создают побочных эффектов (никакие вызовы API ничего не меняют). Безопасно ли выдавать ошибку в редукторе в случае неверного ввода)? (Разве это не считается побочным эффектом?)
Безопасно ли выдавать ошибку в React Reducer?
Ответы (2)
Безопасно выдавать ошибку в редукторе?
Ответ на этот вопрос гласит, что если возникает ошибка, сокращение ничего не будет делать, и приложение останется в предыдущем состоянии.
Итак, если реализация не изменилась, она, вероятно, безопасна (без результирующего ущерба) до тех пор, пока вы не изменили предыдущее состояние, чего никогда не должна делать чистая функция.
Хорошая идея - полагаться на добавление редуктора?
Нет. Как вы сказали, метание - это побочный эффект, и, вероятно, в любом случае будет невозможно написать код обработки ошибок для него.
Лучший подход (см. Связанный вопрос) - это, вероятно, отловить ошибку внутри редуктора и обновить состояние, чтобы правильно указать ее.
Это небезопасно. Вы всегда должны делать свою проверку раньше.
Например, в промежуточном программном обеспечении. Не позволяйте действию достигать редуктора и выдавать оттуда ошибку.