|
|
1
5
这是因为闭包是如何工作的。看,在初始渲染时
下一次呈现代码将创建
看,实际上它不是你的处理程序“没有更新状态”,而是用过时的值更新它。 选项1重新订阅每个渲染
选项2
利用
看起来效率稍高,但更凌乱/可读性较差。所以我更喜欢第一个选择。
你可能想知道我为什么要
[upd]忘记了setter的功能版本。如果我们不想引用其他人的数据
|
|
2
2
只需为useffect添加依赖项和清理
|
|
|
3
2
我认为你的问题可能是你注册了那个听众一次(例如
将其放在listener函数中,应该可以让您访问当前状态:
|
|
|
Ângelo Rigo · ReactJS映射:如何迭代[关闭] 1 年前 |
|
|
vatsal chauhan · 即使在字体预加载时,文本加载也很慢 1 年前 |
|
|
noblerare · Vite错误-未定义导出(SSR) 1 年前 |