React 定时发送函数:自定义频率和消息 - 使用 useEffect 和 setInterval
要在React中编写一个定时发送函数,你可以使用useEffect钩子和setInterval函数来实现。下面是一个示例代码:\n\njsx\nimport React, { useEffect, useState } from 'react';\n\nconst TimerComponent = () => {\n const [message, setMessage] = useState('');\n const [frequency, setFrequency] = useState(1000); // 默认发送频率为1秒\n\n useEffect(() => {\n const intervalId = setInterval(() => {\n // 在这里编写你的发送逻辑\n console.log('发送消息:', message);\n }, frequency);\n\n return () => {\n clearInterval(intervalId); // 组件卸载时清除定时器\n };\n }, [frequency, message]);\n\n const handleFrequencyChange = (e) => {\n setFrequency(parseInt(e.target.value, 10));\n };\n\n const handleMessageChange = (e) => {\n setMessage(e.target.value);\n };\n\n return (\n <div>\n <input type="text" value={message} onChange={handleMessageChange} />\n <input type="number" value={frequency} onChange={handleFrequencyChange} />\n </div>\n );\n};\n\nexport default TimerComponent;\n\n\n在这个示例中,我们使用了useState来存储消息和发送频率的状态。useEffect钩子被用来创建定时器,在每个指定的频率下执行发送逻辑。当频率或消息发生改变时,useEffect会重新运行,清除上一个定时器并创建一个新的定时器。\n\n通过handleFrequencyChange和handleMessageChange函数,我们可以更新频率和消息的状态。这样,当用户在输入框中输入内容时,消息会被更新,而当用户在频率输入框中输入内容时,频率会被更新。\n\n在组件的返回部分,我们渲染了两个输入框,一个用于输入消息,另一个用于输入发送频率。每当这些输入框的值发生变化时,对应的状态也会更新。\n\n请根据你的需求修改发送逻辑和输入框的样式。
原文地址: https://www.cveoy.top/t/topic/p1JM 著作权归作者所有。请勿转载和采集!