关于React FC useState,如何解释以下console.log?-灵析社区

你可以的拿捏了

React代码如下, 前三次每次点击button都会打印不同的结果,苦思不得解,请大佬解惑。。 第一次点击button打印:click 1 2 第二次点击button打印:click 1 第三 ~ 第 N 次点击button打印:click function A() { console.log(2) return null } const App: React.FC = () => { const [flag, setFlag] = useState(false) console.log(1) return ( { console.log("click") setFlag(true) }} > click me ) } 如何解释第二次的打印结果呢??? 我原以为第二次点击button,只会打印click,依据是状态的newValue === prevValue,不会触发re-render,但是想不通为什么还打印了“1”。然后奇怪的是,第三次往后,又没有“1”了

阅读量:154

点赞量:0

问AI
ciiiiinema
这个涉及react的更新策略问题,建议网上搜索eagerState相关内容,或者看下这篇"https://juejin.cn/post/7073692220313829407" (https://link.segmentfault.com/?enc=1DzFx8vbD5ZfKT11tURF9g%3D%3D.oegKB0cqggfsep41ebAbwupfPRZOKeAWPMJswYelukyCt04WCormObmAYDvBcGPQ)