好吧,所以我有一个使用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);
}
答案 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);
}