angular - NGRX 8, Angular ,如何处理未定义的错误

标签 angular typescript rxjs ngrx ngrx-store

我对以下选择器有疑问:

export const selectInfoFromMap = createSelector(featureSelector, (state, props) =>
    state.attributes.get(props.userName).get(props.parameterUser).userValue);  

在组件初始化期间,下面的 map 不存在。我可以轻松检查空值。

export const selectInfoFromMap = createSelector(featureSelector, (state, props) =>
    state.attributes.get(props.userName).get(props.parameterUser).userValue ?
        state.attributes.get(props.userName).get(props.parameterUser).userValue : '0.0');

但是,是否可以检查 undefined?

最佳答案

这是对属性的深入挖掘,你最好使用 try catch

export const selectInfoFromMap = createSelector(featureSelector, (state, props) =>{

   try{ 
      return state.attributes.get(props.userName).get(props.parameterUser).userValue
    }catch(e){
        return '0.0'
}

关于angular - NGRX 8, Angular ,如何处理未定义的错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57878299/

相关文章:

angular - 如何以 Angular 显示对象的对象?

javascript - 从文本框中选择文本时触发函数

node.js - Typescript 建立绝对导入 Node

rxjs - 无法从 'rxjs/testing' 找到模块 'jasmine-marbles.umd.js'

javascript - Angular 2 使用组件属性动态设置 routerLink

java - TypeScript:向枚举添加更多数据

javascript - 如何声明 useState() 初始值为 null,然后再给它一个对象值?

javascript - 如何将 map 运算符用作mergeMap?

javascript - 检查所需模块的类型以及它是否根据其类型返回正确的对象

angular - 'string | null' 类型的参数不可分配给 'string' 类型的参数。类型 'null' 不可分配给类型 'string'