簡體   English   中英

在Redux可觀察到的場景中使用史詩對兩個動作進行排序

[英]Sequencing two actions together using an epic in redux-observable

我正在使用redux-observable使用react-native構建應用程序。 現在,我正在努力使用史詩對兩個動作進行簡單的裝飾,使它們可以在redux上觀察到。 我試圖實現的只是將兩個動作映射為一個。

我得到的錯誤是:

You provided an invalid object where a stream was expected. You can provide an Observable, Promise, Array, or Iterable.

這是我正在使用的代碼:

 import { Observable } from 'rx'; export const startApplicationEpic = (action$: Observable) => action$ .ofType('START_APPLICATION') .flatMap(() => Observable.of( { type: 'REGISTER_PUSH_NOTIFICATIONS'}, { type: 'AUTHENTICATION_REQUEST' } ) ); // index.js store.dispatch({ type: 'START_APPLICATION' }) 

對我來說,我正在使用的RxJS代碼是有效的,並且如果史詩是流,那么這應該行得通,還是只能從史詩中調度單個動作?

似乎您正在導入rx (即v4)而不是rxjs (即v5)。 因此,您的代碼為v5 Observable的flatMap提供了v4 Observable(默認情況下,redux-observable內部組件為v5)。 這兩個版本默認情況下無法互操作,但是有臨時互操作層 我承認這一切都令人困惑。

將v4與redux-observable結合使用的最佳方法是包括我們為其創建的適配器redux-observable-adapter-rxjs-v4 如果您偶然使用v4或沒有其他幫助,請絕對使用v5。

解決此問題后,提供的代碼將按預期工作,且不會出現錯誤: https//jsbin.com/xiqigi/edit?js,console

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM