【发布时间】:2021-01-12 14:31:30
【问题描述】:
我有一个“接受”按钮,我希望在 5 秒后自动点击该按钮。我将 React 与 Next.js 一起使用。按钮代码为:
<button name="accept" className="alertButtonPrimary" onClick={()=>acceptCall()}>Accept</button>
如果我不能这样做,我想了解原因,以便提高我的 React 和 Next.js 技能。
【问题讨论】:
-
不自动点击按钮,为什么不自动调用
acceptCall函数呢?无论哪种方式,您都可能正在寻找setTimeout的内容 -
或者您是否尝试在单击按钮后 5 秒运行处理程序函数?如果是这样,请查看 debouce 函数,网络上有很多示例。
-
我厌倦了自动调用 acceptCall 函数,但它最终会重新渲染页面并无限调用该函数。我试过 {acceptCall} {acceptCall()} {()=>acceptCall()}。另外,我喜欢点击按钮选项的想法,但 5 秒后它还是会点击。
-
假设是功能组件,您需要将超时放在带有空依赖数组的
useEffect中,以便它只运行一次。如果在类组件中,请将其放在componentDidMount中。 -
是否有一个示例或引用一个带有空依赖数组的 useEffect 以便它只运行一次?衷心感谢您的帮助!
标签: javascript reactjs next.js