Ngrx Entity, как определить действия и как правильно назвать действия с эффектами - PullRequest
0 голосов
/ 03 сентября 2018

Я сгенерировал действия, используя схемы 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 Ответ

0 голосов
/ 03 сентября 2018

Точно так, как вы это описываете.

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

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

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

...