React native 如何在React Native中将计时器重置为0?

React native 如何在React Native中将计时器重置为0?,react-native,timer,React Native,Timer,我有一个项目,如果用户在10秒后不触摸iPad屏幕,就会显示一个视频。 我有两个屏幕,主屏幕和视频屏幕,主屏幕将默认显示,视频屏幕将在用户不触摸屏幕10秒后显示。这是我到目前为止试过的,但不起作用 constructor(props) { super(props); this.state = { displayVideo: false }; } componentDidMount() { var timer = setInterval( () =

我有一个项目,如果用户在10秒后不触摸iPad屏幕,就会显示一个视频。 我有两个屏幕,主屏幕视频屏幕主屏幕将默认显示,视频屏幕将在用户不触摸屏幕10秒后显示。这是我到目前为止试过的,但不起作用

constructor(props) {
    super(props);

    this.state = {
        displayVideo: false
    };
}
componentDidMount() {
    var timer = setInterval( () => {
        this.updateState();
    }, 10000);
  }


resetInterval() {
    clearInterval(this.timer);
    this.timer = setInterval( () => {
        this.updateState();
    }, 10000);
}

updateState = () => {
    this.setState({displayVideo:true});
}
我想在10秒后将displayVideo更新为true,但如果用户在屏幕上触摸会将其重置并重新启动


非常感谢您的帮助。

以下是一个没有React Native的工作示例:

类MyComponent扩展了React.Component{ 建造师(道具){ 超级(道具); 此.state={ displayVideo:false, 计时器:空 }; } componentDidMount(){ 常量计时器=设置间隔(()=>{ log(“componentDidMount-show视频”); 这一点是正确的; }, 10000); this.setState({timer:timer}) } 重置间隔=()=>{ 日志(“重置间隔工作…”); clearInterval(this.state.timer); 常量计时器=设置间隔(()=>{ console.log(“重置计时器-显示视频”) 这一点是正确的; }, 10000); 这是我的国家({ 定时器:定时器, 显示视频:错误 }); } UpdateEstate=(值)=>{ this.setState({displayVideo:value}); } render(){ 返回( 正在测试displayVideo:{this.state.displayVideo.toString()} ) } } ReactDOM.render(,document.getElementById(“根”))
以下是一个没有React Native的工作示例:

类MyComponent扩展了React.Component{ 建造师(道具){ 超级(道具); 此.state={ displayVideo:false, 计时器:空 }; } componentDidMount(){ 常量计时器=设置间隔(()=>{ log(“componentDidMount-show视频”); 这一点是正确的; }, 10000); this.setState({timer:timer}) } 重置间隔=()=>{ 日志(“重置间隔工作…”); clearInterval(this.state.timer); 常量计时器=设置间隔(()=>{ console.log(“重置计时器-显示视频”) 这一点是正确的; }, 10000); 这是我的国家({ 定时器:定时器, 显示视频:错误 }); } UpdateEstate=(值)=>{ this.setState({displayVideo:value}); } render(){ 返回( 正在测试displayVideo:{this.state.displayVideo.toString()} ) } } ReactDOM.render(,document.getElementById(“根”))


什么不起作用?你的触摸处理器是什么样子的?这resetInterval()}style={styles.videoContainer}>这是我的触摸手柄它不工作,因为调用函数resetInterval()时计时器不清楚。什么不工作?你的触摸处理器是什么样子的?这resetInterval()}style={styles.videoContainer}>这是我的触摸手柄它不工作,因为调用函数resetInterval()时计时器不清除。