类型"可观察<布尔值 | "">"不能分配给类型"可观察&



我正在从 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";
});

我正在将其分配给可观察量

isSomethingPresent$ !: Observable<boolean>;
someMethod() {
this.isSomethingPresent$ = this.store.select(selectIsSomethingPresent);
}

我收到此错误:

Type 'Observable<boolean | "">' is not assignable to type 'Observable<boolean>'.

为什么打字稿会这样?

仅供参考,return ("12345" && true)抛出相同的错误。

因为state.id类型是string,空字符串&&&true将返回空字符串而不是布尔值,所以你需要将state.id转换为boolean

return Boolean(state.id) && state.id !== "12345";

相关内容

最新更新