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