标题可能不是描述问题的最佳方法,但是我想知道在getDefaultProps中声明对象是否有更好的做法?

在我的render方法中,我从prop / state调用了几个按键,这些按键会在点击事件(即this.props.player.name)上更新。问题是页面加载this.props.player为空白,并调用.name错误。我知道我可以做类似...

getDefaultProps: function() { return { player: { name: null, team: null position: null } }; }

但是感觉不对。我希望可能有一些类似于Ruby .try()的方式,它不会尝试在未定义的prop上调用方法。

最佳答案

问题特别是this.props.playerundefined,如果您定义一个空对象,它将防止错误发生。存根您期望的键不是一个坏习惯,但是将默认值设置为{}足以防止其抛出。

关于javascript - 避免在事件之前在getDefaultProps中声明大对象,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/37622047/

10-12 04:27