无法将 Observable<Store> 类型的类型值转换为预期的参数类型 Observable<Store?>

Posted

技术标签:

【中文标题】无法将 Observable<Store> 类型的类型值转换为预期的参数类型 Observable<Store?>【英文标题】:Cannot convert type value of type Observable<Store> to expected argument type Observable<Store?> 【发布时间】:2021-10-29 20:30:40 【问题描述】:

我收到一条错误消息,内容如下: Cannot convert value of type 'Observable&lt;Store&gt;' to expected argument type 'Observable&lt;Store?&gt;

所以我调用StoreMock(state: stateSubject, store: storeSubject) 的方法似乎期望可观察的storeSubject 是可选的。但我不确定如果我传入一个非可选的值为什么会很重要。不应该很好,因为它会一直在那里。

有什么想法吗?

【问题讨论】:

【参考方案1】:

您必须将对象包装到 Optional 中: StoreMock(state: stateSubject, store: storeSubject.map(Optional.some))

只需一个电话即可解决此问题。

【讨论】:

这是否会在对模拟的调用中:StoreMock(state: stateSubject, store: storeSubject.map(Optional.some))。我似乎仍然收到错误 是的。答案已更新。 嗯,我试过了:StoreMock(state: stateSubject, store:storeSubject.map(Optional.some)),但它似乎仍然出现了可观察到的错误 完全相同的错误?那不太可能。为了获得更好的响应,我将不得不查看此StoreMock(state:store:) 方法的定义。 不确定发生了什么变化,但编译几次后似乎对我有用!

以上是关于无法将 Observable<Store> 类型的类型值转换为预期的参数类型 Observable<Store?>的主要内容,如果未能解决你的问题,请参考以下文章

无法将“Observable<Data>”类型的值转换为预期的参数类型“Data”

无法将类型 '(_) -> Observable<Response>' 的值转换为预期的参数类型 '([_]) -> _'

将 Promise 转换为 RxJs Observable

无法解析ObservableDataSource的所有参数:([object Object] ,?)

如何在 React Context 中实现 observable 观察值

从 appState 中选择 store inside store