Действия Ngrx: соответствующие действия с ошибками для каждого действия?

#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. Потрясающе — спасибо за ответ и предоставление ссылки.