标题可能不是描述问题的最佳方法,但是我想知道在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.player
是undefined
,如果您定义一个空对象,它将防止错误发生。存根您期望的键不是一个坏习惯,但是将默认值设置为{}
足以防止其抛出。
关于javascript - 避免在事件之前在getDefaultProps中声明大对象,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/37622047/