Transition 是 react18 引入的新概念,用来区分紧急和非紧急的更新。
#
问题一使用 useState改变值后 拿到的值不是最新值const [isFocus, setIsFocus] = useState<boolean>(false)const changeFocus = () => { setIsFocus(!isFocus)}useEffect(() => { ......
如果您尝试直接改变组件的状态,React 将无法得知它需要重新渲染组件。通过使用setState()方法,React 可以更新组件的UI。
setState 执行之后,会执行一个叫 enqueueSetState 的方法,这个主要作用是创建 Update 对象和发起调度,可以看下这个函数的逻辑