React Native中如何给onPress同时绑定表达式和箭头函数?
问题原因
你当前的写法使用了逗号运算符,该运算符会依次执行逗号两侧的表达式,最终仅返回最后一个表达式的结果,所以onPress最终只会绑定你写的第二个箭头函数,handleSubmit完全不会被触发。
解决方法
你可以在onPress绑定的同一个箭头函数内,按你需要的顺序依次调用两个逻辑即可,不需要把setState的逻辑合并到handleSubmit里,示例代码如下:
<SubmitButton text="NEXT" style={{ backgroundColor: "#093968" }} onPress={() => { handleSubmit() this.setState({ submitPressed: true }) }} />
注意事项
如果handleSubmit需要接收点击事件的原生事件对象,把箭头函数的入参透传进去即可:
onPress={(e) => { handleSubmit(e) this.setState({ submitPressed: true }) }}
内容的提问来源于stack exchange,提问作者ManDag004
相关产品推荐
相关产品推荐

