为什么列表视图单击处理程序在启动时执行函数
Why is ListView click handler executing functions on start
所以我使用 react-native,似乎当我的应用程序启动时,它实际上运行附加到点击处理程序的函数? 这是应该发生的吗?还是这是一个错误??
我有:
<TouchableHighlight onPress={() =>this._pressData(rowID)}></TouchableHighlight>
然后在我拥有的函数中:
this._pressData(theRow) { console.log(theRow); }
当我启动我的应用程序时,我只会得到一个控制台日志,上面有最多 1000 个数字。 如果我在那里放更多的逻辑,它想要执行这一切。
例如,如果我把它放在那里,
this._pressData(theRow) {
this.setState({test: theRow});
console.log(this.state.test);
}
该应用程序需要很长时间才能启动,因为它实际上运行了一千次 setState,并且控制台记录了它。
我如何让这些功能仅在 Press 上运行。 而不是在启动时?(或者这是一个错误?
(找出这一点,回答了我之前关于这个问题的问题。 这个问题显然是由同一个问题引起的。)
有什么想法吗?
我开始认为我只是一个坏掉的构建。 也许是时候降级了,哈哈
尝试使用 ES6 胖箭头像这样更改代码:
<TouchableHighlight onPress={() => this._pressData(rowID)}></TouchableHighlight>
然后以这种方式声明你的函数
_pressData = (theRow) => {
this.setState({test: theRow});
console.log(this.state.test);
}
相关文章:
- 当您滚动到特定页面位置时,如何执行此操作,该功能将启动一次
- 检测 JavaScript 中浏览器的首次启动以执行某些操作
- 为什么列表视图单击处理程序在启动时执行函数
- 启动/停止函数执行 jQuery/JS 在鼠标事件上
- 如何在响应.redirect之前执行启动脚本
- ExtJs 5-在Ext.application中未执行启动函数
- 在不执行浏览器操作的情况下启动chrome扩展
- 有没有办法运行“;nvm使用“;在启动前npm脚本中自动执行
- 默认情况下,在启动时执行条件AND中的一行
- 通过在NodeJS中执行PHP脚本来重新启动NodeJS
- 如何在启动funcC()之前执行未定义数量的funcA()和funcB()
- 知道.each()启动的所有异步调用何时执行完毕
- 每当我执行推送状态时,状态更改就会启动
- 当另一个开关启动时,如何停止第一个开关的执行
- 执行requestfullscreen失败'on 'Element': API只能由用户手势启动
- 执行'play'on 'HTMLMediaElement': API只能由用户手势启动
- 执行函数只在Express启动时执行一次
- 是否有一种方法可以在启动同步ajax调用之前强制执行javascript代码
- Node:在mocha启动时执行异步函数
- 重复函数执行启动问题