小编pea*_*ove的帖子

React 钩子切换 setState

到目前为止,我看到了两种处理切换的方法

首先,根据之前的状态设置状态

export default function App() {
  const [show, setShow] = useState(false);
  const handleClick = () => {
    setShow(s => !s);
  };
  return (
    <div>
      <div>show: {String(show)}</div>
      <button onClick={handleClick}>BTN</button>
    </div>
  );
}
Run Code Online (Sandbox Code Playgroud)

其次,直接将状态作为参数传递

export default function App() {
  const [show, setShow] = useState(false);
  const handleClick = () => {
    setShow(!show);
  };
  return (
    <div>
      <div>show: {String(show)}</div>
      <button onClick={handleClick}>BTN</button>
    </div>
  );
}
Run Code Online (Sandbox Code Playgroud)

哪一个是正确的?根据我的理解,第二个可能不起作用,因为设置状态是异步的,如果我多次单击按钮,它可能无法获得正确的状态

reactjs react-hooks

5
推荐指数
1
解决办法
3111
查看次数

标签 统计

react-hooks ×1

reactjs ×1