reactjs - 如何在 React 中为 setInterval 创建一个循环?
问题描述
我正在开发一个呼吸循环应用程序,我想为这两种情况创建一个简单的循环:吸气/呼气。一开始,我有一条消息,它显示“呼吸”状态,然后我在 5 秒后使用 setInterval 将状态更改为“呼吸”。我卡住的地方是,它在这一步之后停止。它应该随着吸气/呼气而继续。
我是 React 的新手,setInterval 是正确的方法吗?
function App() {
const [message, setMessage] = useState('breathe in');
useEffect(() => {
const interval = setInterval(() => {
setMessage('breathe out');
}, 5000);
return () => clearInterval(interval);
}, []);
return (
<div className="App">
<div className="circle">
<span>{message}</span>
</div>
</div>
);
}
解决方案
只需更改您的 setMessage 行,您就可以开始了。
setMessage(message === 'breathe in' ? 'breathe out' : 'breathe in');
推荐阅读
- unit-testing - 无法使用“use”关键字调用命名空间
- java - Gitlab-CI、Maven 和 Java 10:构建总是失败 - 找不到符号
- git - 如何从 .gitignore 文件中删除存储文件夹?
- javascript - 链接到更改的 URL 但未呈现的组件
- laravel - Laravel Spark 用户字段
- python - python中的修补类不执行模拟对象
- c# - 如何在 Xamarin.Forms UWP 中隐藏默认工具栏按钮(三个点)
- amazon-web-services - 带有 --include 和 --exculde 的 aws s3 cp 不会复制任何内容
- haskell - 用于二叉树的 Haskell 插入函数
- c++ - 我如何知道作为 r 值传递的对象是否会被移动?