使用rxjs 6.3.3并重新组成componentFromStreamWithConfig
时,出现错误:You provided an invalid object where a stream was expected. You can provide an Observable, Promise, Array, or Iterable.
我曾尝试向rxjsConfig
提供自定义componentFromStreamWithConfig
对象,如其他与recompose和rxjs 6有关的问题所建议的那样。
import "symbol-observable";
import {
componentFromStreamWithConfig,
createEventHandlerWithConfig
} from "recompose";
import { from } from "rxjs";
const rxjsConfig = {
fromESObservable: from,
toESObservable: stream => stream
};
export const createEventHandler = createEventHandlerWithConfig(rxjsConfig);
export const componentFromStream = componentFromStreamWithConfig(rxjsConfig);
导出的componentFromStream
通常用于各种组件。
在rxjs 6配置的情况下,我希望这可以工作-但是fromESObservable
似乎是个问题(stacktrace指向Object.from [as fromESObservable]
)
答案 0 :(得分:1)
潜在的问题似乎是:
recompose
通过Symbol.observable
填充symbol-observable
。rxjs
才会将从componentFromStream
接收到的对象识别为Observable
,否则会引发TypeError。我的解决方法是在recompose
中的任何内容之前导入rxjs
,错误消失了。
显然,进口订单在这里具有相关性,这确实具有驱使人们疯狂的潜力!
对于您而言,更改使用自定义componentFromStream
的代码就足够了:
componentFromStream
之前先导入自定义rxjs
,Symbol.observable
显式地填充symbol-observable
,但还是在所有rxjs
导入的顶部。