#design-patterns #ngrx
#шаблоны проектирования #ngrx
Вопрос:
При реализации действий с Ngrx имеет ли смысл иметь соответствующее действие с ошибкой для каждого типа действия?
Например:
Вариант A: Load_Object_Type_X, Load_Object_Type_B, Load_Object_Error
Вариант B: Load_Object_Type_X, Load_Object_Type_B, Load_Object_Type_A_Error, Load_Object_Type_B_Error
Варианты A и B могут использовать reducer для обработки ошибки точно таким же образом (action reducer может обрабатывать оба типа ошибок в варианте B), но я чувствую, что вариант B может ввести неудобное количество действий при наличии достаточного количества действий. Опция A означает, что произошла «некоторая ошибка», и может включать трассировку стека, но само действие с ошибкой явно не указывает, какое действие обрабатывалось, когда возникла эта ошибка.
Я провел некоторое ознакомительное чтение и не нашел ничего определенного о том, какова наилучшая практика — интересно, есть ли какие-либо ресурсы для этого. Спасибо!
Ответ №1:
Из ngrx.io
Действия являются одним из основных строительных блоков в NgRx. Действия выражают уникальные события, которые происходят во всем вашем приложении. Начиная с взаимодействия пользователя со страницей, внешнего взаимодействия через сетевые запросы и прямого взаимодействия с API-интерфейсами устройств, эти и другие события описываются с помощью действий.
Это означает, что вы бы создали отдельное действие для каждого действия, обычной практикой является наличие 3 действий для выборки, [Product Page] Load Product
, [Product API] Load Product Success
[Product API] Load Product Fail
, ,,.
Комментарии:
1. Потрясающе — спасибо за ответ и предоставление ссылки.