broadliyn
V2EX  ›  问与答

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

  •  
  •   broadliyn · Nov 1, 2016 · 1245 views
    This topic created in 3488 days ago, the information mentioned may be changed or developed.

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

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

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

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

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

    No Comments Yet
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   3108 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 36ms · UTC 13:00 · PVG 21:00 · LAX 06:00 · JFK 09:00
    ♥ Do have faith in what you're doing.