React中的“宽容”表达

时间:2016-05-16 15:27:09

标签: javascript reactjs

在一个React JSX视图中,我有一个表达式{a.b.c},它会导致整个视图崩溃,因为有时候bundefined。是否有提供the same behaviour than expressions in AngularJS的模块?我更喜欢没有显示任何内容而不是崩溃视图的表达式。我应该写一些像{((a||{}).b||{}).c}这样的东西吗?

2 个答案:

答案 0 :(得分:3)

Felix Kling在评论中回答了这个问题: React表达式只是JavaScript。您可以使用任何JavaScript技术来避免未定义的TypeErrors,或任何帮助您解决问题的库。

使用vanilla JavaScript,您可以使用:

<Component prop={a && a.b && a.b.c} />

答案 1 :(得分:0)

使用深度嵌套的结构,使用dot-prop可能很方便。

dotProp.get(a, 'b.c');