中等ReactTypeScript
0 1

为何建议React中setState的第一个参数使用回调函数而不是一个对象?请说明原因与场景?

【概念释义】

setState 第一个参数用 updater 函数 (prevState) => partial 而非对象,原因:1) 批处理下多次 setState 对象会覆盖而非累加;2) 闭包中 this.state 可能陈旧;3) 下一 state 依赖上一 state 时必须函数式。对象形式适合不依赖前值的绝对赋值。

【基础使用】

jsx
"qb-hl-comment">// ❌ 连点 +1 可能只加 1
this.setState({ count: this.state.count + 1 });
this.setState({ count: this.state.count + 1 });

登录查看完整 1134

回答讨论

暂无讨论,登录后可抢先发言

本题库更多题目(50)