【发布时间】:2019-04-05 18:31:59
【问题描述】:
当我在选择器中选择嵌套状态时,我不得不求助于使用&& 逻辑运算符
const mapStateToProps = store => ({
image: store.auth.user && store.auth.user.photoURL;
});
不使用它会破坏应用程序,因为数据来自网络请求并且需要一秒钟才能显示出来。
TypeError: Cannot read property 'photoURL' of null
有没有更好的方法来做到这一点,还是我应该在任何地方都使用 &&?它看起来很乱,感觉很hacky。
【问题讨论】:
-
三元?或者,如果您愿意使用外部库,lodash
get可以相对优雅地实现这一点。 -
谢谢。 _get 看起来不错。那么只是为了确认逻辑运算符和三元组是执行此操作的标准方法吗?
-
foo ? foo.bar : undefined与foo && foo.bar相比,是否更加凌乱或笨拙?您将如何更好地衡量? -
我不认为它更好。我会坚持我的&&。我想我真正要问的问题是这样做是否有什么问题,但似乎每个人都这样做。
-
可选链接看起来很棒,但更好的是它更清晰并且使用的字符更少。
标签: javascript reactjs redux react-redux logical-operators