onTypeSelect (str) {
this.setState({taskType: str})
}
<TouchableOpacity onPress={this.onTypeSelect('type1').bind(this)}>
</TouchableOpacity>
undefined不是对象(评估'_this3.onTypeSelect('type1).bind')。
任何人都可以帮助我吗?我是反应原生的初学者。
答案 0 :(得分:3)
试试这个
onTypeSelect (str) {
this.setState({taskType: str})
}
<TouchableOpacity onPress={() => { this.onTypeSelect('type1'); }} />
当你.bind(this),你需要传递函数而不是函数的返回值,在本例中是undefined
。这种方式可行,因为函数是从组件范围内部调用的,因此使this
成为有效的引用。
解决问题的另一种方法是以这种方式使用bind:
this.onTypeSelect.bind(this, 'type1')
编辑:感谢您的评论和其他回复,我为了完成和信息添加了信息。 Alexander T.,Bartek F.
答案 1 :(得分:2)