clearInterval()不会清除setInterval和影响导航

时间:2019-04-09 11:50:26

标签: javascript react-native react-native-ios

好吧,所以我有一个使用setInterval的启动画面,但是问题是setInterval现在基本上影响了我尝试使用clearInterval的应用中的整个导航,但不会工作。

我尝试从componentWillMount更改为componentDidMount,但仍然无法正常工作。

componentDidMount(){
  const splashInterval = setInterval(()=>{
      this.props.navigation.navigate('Main');
    },2000);
    this.setState({splashInterval: splashInterval});
}


componenWillUnmount(){
  const splashInterval = this.state.splashInterval;
  const clearSplashInterval = this.props.navigation.clearInterval(splashInterval);
  this.setState(clearSplashInterval);
}

2 个答案:

答案 0 :(得分:0)

为什么从道具中获得clearInterval ??

清除setInterval

执行此操作

componentDidMount(){
 this.inter = setInterval(async() => {
            this.props.navigation.navigate('Main');
        }, 2000);
}

componenWillUnmount(){
  clearInterval(this.inter);
}

clearInterval()函数清除之前由setInterval()函数设置的间隔。

答案 1 :(得分:0)

您不需要清除间隔,只需简单地

ex15

当您导航到另一个班级时,可以使用它,并且如果您想像不希望在堆栈中启动屏幕一样重设堆栈

  componentDidMount(){
    setTimeout(() => {
this.props.navigation.navigate("Main")
    }, 100);
  }