小编A2u*_*2ub的帖子

如何解决 React Hook 关闭问题?


import React, { useState} from "react";
import ReactDOM from "react-dom";

function App() {
  const [count, setCount] = useState(0);

  function handleAlertClick(){
    return (setTimeout(() => {
  alert("You clicked on: " + count);
}, 3000))
  }


  return (
    <div>
      <p>You clicked {count} times</p>
      <button onClick={() => setCount(count + 1)}>Click me</button>
      <button onClick={handleAlertClick}>Show alert</button>
    </div>
  );
}
Run Code Online (Sandbox Code Playgroud)

我只想知道这是否像我认为的那样有效,或者是否有更好的解释!

每当setState调用该方法时,状态都会获得一个新的引用。这意味着原始状态没有新值,而是我们用新值创建了一个新状态。当我们点击第二个按钮时,事件处理函数捕获原始状态的引用。即使我们多次单击第一个按钮,当显示警报时,它也会显示事件处理程序捕获其引用的状态值。

这样对吗?

javascript closures reactjs use-state

13
推荐指数
1
解决办法
4676
查看次数

标签 统计

closures ×1

javascript ×1

reactjs ×1

use-state ×1