Li Ming

React Native 错误 Cannot read property onStartShouldSetResponderCapture of undefined

今天有同事反馈在 React Native 0.43 版本的 Android 应用中,遇到了红屏错误:Cannot read property ‘onStartShouldSetResponderCapture’ of undefined,如下图:

错误重现方式:界面有一个验证码按钮,代码形如 <TouchableOpacity><Text>{this.state.content}</Text></TouchableOpacity>,onPress 事件中发送一个请求,并将按钮的 Text 内容用倒计时的形式展示,倒计时过程中不断连续点击这个按钮,有一定几率出现

最终结论,Text 内容先是一个字符串,后来变成了数字,造成了这个 BUG,解决的思路是:<TouchableOpacity><Text>{this.state.content.toString()}</Text></TouchableOpacity>

参考资料