簡體   English   中英

何時根據 React/Typescript 中 useState 鈎子中的先前狀態更新狀態

[英]When to update state based on previous state in useState hook in React/Typescript

我已經看到了一些關於如何根據先前狀態更新狀態的示例,但是我沒有看到關於何時根據先前狀態更新狀態的太多解釋,大多數示例使用反例,但是如果我正在設置一個對象呢?在狀態中,這是否仍基於先前的值,還是我可以只更新狀態。 例如

const exampleData = [
    {
       text: 'Example name',
       value: 1
    },
    {
       text: 'Example name 2',
       value: 2
    }
]

  const [asset, setAsset] = useState(exampleData[0]);

  const handleClick = (event) => {
      setAsset(event.target.value) 
  }

因此,在示例中,我正在更新 handleClick 函數中的狀態,但是我是否需要根據以前的值更新它?

如果要訪問previous state ,可在setState操作中使用

const [state, setState] = useState(false);

const handleClick = () => {
    setState(prev => !prev); // true
    setState(prev => !prev); // false
}

注意: setStateasync操作

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM