Szukam sposobu wysyłania wielu akcji redux w pojedynczym pakiecie oprogramowania pośredniego Epic z redux-observable
.redux-obserwowalne - wywołaj wiele akcji redux w jednym eposie
Załóżmy, że podążam za Eposem. Za każdym razem, gdy wystąpi zdarzenie, Epic ładuje dane z backendu i wywołuje akcję .
searchEpic = (action$) =>
action$
.ofType('SEARCH')
.mergeMap(
Observable
.fromPromise(searchPromise)
.map((data) => {
return {
type: 'RESULTS_LOADED',
results: data
}
})
)
Teraz załóżmy, że muszę wysyłki dodatkowe działania, gdy searchPromise
został rozwiązany.
Najprostszy sposób zrobienia tego wydaje się mieć drugą epopeję, która będzie słuchać RESULTS_LOADED
i wywołać drugą akcję. Podobnie jak:
resultsLoadedEpic = (action$) =>
action$
.ofType('RESULTS_LOADED')
.map(({results} => {
return {
type: 'MY_OTHER_ACTION',
results
}
})
W tym prostym przykładzie jest to dość łatwe. Ale kiedy Epics rośnie, staram się znaleźć wiele działań redux, których jedynym celem jest wywołanie innych działań. Dodatkowo część kodu rxjs musi zostać powtórzona. Uważam to za nieco brzydkie.
Moje pytanie: czy istnieje sposób na wysłanie wielu akcji redux w jednym epickim wydaniu?
ngrx/effects implementuje skróty do tego dla aplikacji opartych o kątowe2, nie wiem, czy istnieją podobne biblioteki do zauważalnego redux? –