Ngrx Entity, как определить действия и как правильно назвать действия с эффектами

Я сгенерировал действия, используя схемы ngrx, и это выглядит так:

export enum UserActionTypes {
    LoadUsers = '[User] Load Users',
    AddUser = '[User] Add User',
    UpsertUser = '[User] Upsert User',
    AddUsers = '[User] Add Users',
    UpsertUsers = '[User] Upsert Users',
    UpdateUser = '[User] Update User',
}

и редуктор вот так:

case PricingActionTypes.AddPricing: {
    return adapter.addOne(action.payload.pricing, state);
}

case PricingActionTypes.UpsertPricing: {
    return adapter.upsertOne(action.payload.pricing, state);
}

case PricingActionTypes.AddPricings: {
    return adapter.addMany(action.payload.pricings, state);
}

Мой вопрос заключается в том, как совместить это с эффектами и вызвать REST API.

Должен ли я генерировать действия, такие как:

LoadUsers - какой эффект получает список пользователей из REST API, и если тот вызов API имеет статус успешного выполнения, он отправляет действие LoadUsersSuccess, которое фактически добавляет список пользователей для хранения объекта?

А может это должно выглядеть иначе?

1 ответ

Как именно вы это описываете.

В вашем приложении вы отправите действие Load, ваш эффект вызовет API и отправит действие LoadSuccess или LoadFailed с объектами в качестве полезной нагрузки.

Вы также можете взглянуть на ngrx-data

Стальной шаблон Zero Ngrx Вы больше никогда не сможете написать действие, редуктор, селектор, эффект или службу данных HTTP. Ngrx-data - это расширение ngrx, которое предлагает аккуратное введение в ngrx/redux без примера.

Другие вопросы по тегам