1.20 什么是状态的快照及快照的陷阱
一、什么是状态的快照
也许state变量看起来和一般的可读写的JavaScript变量类似。但state再其表现出的特性上更像是一张快照。甚至他不会更改你已有的state变量,但会触发重新渲染
二、快照的陷阱
注意函数的作用域
import { useState } from 'react' function App() { const [count, setCount] = useState(0) const handleClick = () => { setCount(count + 1) setCount(count + 1) setCount(count + 1) console.log(count) } return ( <> <div>Default Template</div> <button onClick={handleClick}>点击</button> {count} </> ) } export default AppReact会使state的值始终固定在一次渲染的各个时间处理函数的内部,无需担心代码运行时stat额是否发生了变化,这也是闭包的特性
最后更新于