V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
broadliyn
V2EX  ›  问与答

Javascript SPA 对于复杂的 JSON 结构导致的 can not read properties of undefined 问题有没有什么比较好的处理方法?

  •  
  •   broadliyn · 2016-11-01 16:43:43 +08:00 · 862 次点击
    这是一个创建于 2748 天前的主题,其中的信息可能已经有所发展或是发生改变。

    比如 react - redux 下的 spa 应用。 在发起一个请求 action 的时候,数据并没有返回,应用用的是 reducer 里边的默认 state 。

    加入有个路径: state.user.schools[].location ,如果数据没有从服务器端回传,那么 schools 字段应该是 undefined ,这时候应用去访问 schools[].location 就会报错。

    类似这种多级的 json 结构,有没有什么比较好的办法规避这个问题? 目前我想到几个方法:

    1.把复杂数据结构给拉平。但是如果结构本身就比较复杂,那么拉平并不合适。 2.默认的 state 填满每个字段的默认值。 3.在界面上访问字段前,先去判断 state.user.schools[]是否存在,然后再访问这个值。

    但是感觉上边几个解决方式依然不是很适合。

    目前尚无回复
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2984 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 35ms · UTC 14:18 · PVG 22:18 · LAX 07:18 · JFK 10:18
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.