Min*_*gas 2 javascript mobile event-listener react-native
我正在我的应用程序中创建空闲计时器,我想在每次点击、滚动等时重置计时器。resetTimer()在每个 onPress 事件上调用我的函数似乎是无稽之谈。在网上,我会做的事件监听器,如:$(document).mousemove(),$(document).mousedown(),$(document).scroll()等。
关于拥有一些可以调用resetTimer()React Native 中的任何触摸事件的顶级事件侦听器的任何建议?
调查矩形的本地代码的一天后,我发现FBJS包含TouchEventUtils(Facebook的使用在他们本地的反应测试),它允许使用不同的触摸事件状态的功能(onTouchMove(event),onTouchStart(event),onTouchEnd(event))。
所以我做了什么:
npm install fbjs --save
Run Code Online (Sandbox Code Playgroud)
并简单地添加onTouchStart到我的顶级 Root 组件来包装我的路线,因此我覆盖了所有屏幕,因为我在所有屏幕/视图包装器上使用它。
所以我的代码看起来像这样:
/* rest of my imports */
import TouchEventUtils from 'fbjs/lib/TouchEventUtils';
class Root extends Component {
onTouchStart(){
//my code to properly reset session timer
}
render() {
return (
<View
onTouchStart={this.onTouchStart}
>
{/*My routes*/}
</View>
)
}
}
Run Code Online (Sandbox Code Playgroud)
就是这样,这就是访问顶级事件侦听器并对每个事件执行某些操作的解决方案。我没有深入挖掘(因为这对我来说已经足够了),所以我不确定它得到了什么对象,以及它是否可以帮助识别任何进一步的属性(即记录点击的元素)。
| 归档时间: |
|
| 查看次数: |
3992 次 |
| 最近记录: |