在这里,我创建了简单的按钮,当按下给定组件的按钮在屏幕中可见时,启动 timeInterval 为 3 秒,但是当组件卸载时,我返回clearInterval 函数,但 timeInterval 仍然没有停止,所以这里有什么问题?这是代码
const ToggleComponent = () => {
const timer = setInterval(() => {
console.warn('3 Seconds');
}, 3000);
useEffect(() => {
console.warn('Timer started');
return () => {
clearInterval(timer());
console.warn('Timer ended');
};
});
return(
<Text style={{fontSize:20, color:'red'}}>Show Component</Text>
);
}
尝试像这样调整你的代码
...
clearInterval(timer); // Remove the ()
console.warn('Timer ended');
...