По моему опыту с NGXS до сих пор мы использовали как ваш предпочтительный подход, так и в некоторых случаях явные действия, связанные с успехом / неудачей.
Где мы использовали явные действия, как правило, там, где у нас было одно состояние, желающееответить на изменение другим.
Например, в состоянии, в котором записаны некоторые общие справочные данные, но мы можем загрузить его только после того, как пользователь вошел в систему. Мы отправляем действие LoginSuccess
и получаем ReferenceDataState
ответьте на это, чтобы вызвать API и получить справочные данные.
Другой случай, который мы имеем, заключается в том, что вызывающая сторона хочет знать некоторые данные, например, идентификатор объекта, созданного исходным действием.Функция магазина dispatch
возвращает Observable с типом возврата void, поэтому мы можем использовать действие успеха, чтобы получить это значение результата.