我正在从 NgRx 商店选择 @ngrx/store": "7.3.0"
.
// typeof state.id == string
export const selectIsSomethingPresent = createSelector(selector, state => {
// standard null check
return state.id && state.id !== "12345";
});
我将它分配给一个 Observable
isSomethingPresent$ !: Observable<boolean>;
someMethod() {
this.isSomethingPresent$ = this.store.select(selectIsSomethingPresent);
}
我收到此错误:
Type 'Observable<boolean | "">' is not assignable to type 'Observable<boolean>'.
为什么 typescript 会这样?
仅供引用return ("12345" && true)
抛出同样的错误。
最佳答案
因为 state.id
类型是 string
,空字符串 && true 将返回空字符串而不是 bool 值,因此您需要转换 state。 id
到 bool 值
return Boolean(state.id) && state.id !== "12345";
关于javascript - 类型 'Observable<boolean | "“>' is not assignable to type ' 可观察< bool 值>” TS2322,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57774238/