ReactJS 在功能组件中每 X 秒更改一次背景颜色

Posted

技术标签:

【中文标题】ReactJS 在功能组件中每 X 秒更改一次背景颜色【英文标题】:ReactJS change background color every X second in functional component 【发布时间】:2021-06-17 18:21:50 【问题描述】:

您好,我制作了一个功能组件,其中有一个间隔。它每 8 秒更改一次背景图像,总共有 5 张照片,它在前 5 轮工作正常,但之后开始出现故障

这里是沙盒(间隔为 3 秒):https://codesandbox.io/s/infallible-darkness-8s2u4?file=/src/slider.js

【问题讨论】:

【参考方案1】:

您应该在 useEffect 挂钩中运行这部分代码。请记得清理区间:

useEffect(() => 
  const interval = setInterval(() => 
    if (state.img === 4) 
      setState((prev) => (
        ...prev,
        img: 0
      ));
     else 
      setState((prev) => (
        ...prev,
        img: state.img + 1
      ));
    
  , 3000)
  return () => clearInterval(interval);
, [state.img]);

【讨论】:

以上是关于ReactJS 在功能组件中每 X 秒更改一次背景颜色的主要内容,如果未能解决你的问题,请参考以下文章

更改背景组件 - REACTJS

如何在tkinter中每10秒自动运行一次功能[重复]

在 jQuery 中每 5 秒调用一次函数的最简单方法是啥? [复制]

在Swift 2.0中每隔n分钟更新一次背景中的位置

为啥我没运行winrar 却在任务管理器中每隔10秒左右出现一次

如何在 Python 中每 60 秒异步执行一次函数?