【发布时间】:2021-11-20 20:16:30
【问题描述】:
useState的两种使用方式有什么区别?我注意到只有一个触发器重新渲染。
const [index, setIndex] = useState(0);
-
不会触发重新渲染/UI 更改:
setIndex(index + 1); -
触发重新渲染/UI 更改:
setIndex((currentIndex) => currentIndex + 1);
【问题讨论】:
-
关于不更新的第一点见bailing out of a state update。可能是由于
index + 1的评估值导致它成为现有状态的值,因此跳过了重新渲染。
标签: reactjs react-hooks