您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

使用React钩子实现一个自增计数器[重复]

使用React钩子实现一个自增计数器[重复]

您想给一个空数组作为第二个参数,useEffect以便该函数在初始渲染后仅运行一次。

由于闭包的工作方式,这将使counter变量始终引用初始值。您可以改用函数版本setCounter来始终获取正确的值。

const { useState, useEffect } = React;



function App() {

  const [counter, setCounter] = useState(0);



  useEffect(() => {

    const interval = setInterval(() => {

      setCounter(counter => counter + 1);

    }, 1000);



    return () => {

      clearInterval(interval);

    };

  }, []);



  return <h1>{counter}</h1>;

};



ReactDOM.render(

  <App />,

  document.getElementById('root')

);


<script src="https://unpkg.com/react@16.7.0-alpha.0/umd/react.development.js"></script>

<script src="https://unpkg.com/react-dom@16.7.0-alpha.0/umd/react-dom.development.js"></script>



<div id="root"></div>
其他 2022/1/1 18:15:43 有460人围观

撰写回答


你尚未登录,登录后可以

和开发者交流问题的细节

关注并接收问题和回答的更新提醒

参与内容的编辑和改进,让解决方法与时俱进

请先登录

推荐问题


联系我
置顶