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

2016-11-01 16:43:43 +08:00
 broadliyn

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

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

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

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

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

865 次点击
所在节点    问与答
0 条回复

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/317136

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX