我发现当我定义一个值为“1”的状态,并且每次单击按钮时将状态设置为值“2”时,前两次会导致重新渲染。
代码示例:使用 React@17 而不使用严格模式。
演示复制链接:https://codesandbox.io/s/sweet-brattain-ys11d
代码示例:使用 React@17 而不使用严格模式。
演示复制链接:https://codesandbox.io/s/sweet-brattain-ys11d
import { useState } from "react";
export default function App() {
const [a, setA] = useState("1");
console.log("render", a);
return (
<button
onClick={() => {
setA("2");
}}
>
{a}
</button>
);
}
// log:
// render 1
// render 2
// render 2
我可以理解第一个重新渲染,因为状态从“1”更改为“2”,
但我不理解第二个重新渲染。
2
号或增量代码。那么你如何得到render 2
?根据上下文理解,此处可能指在某段代码中没有提到数字2或递增代码,但却能够展示出“render 2”的效果。具体实现方法需要结合上下文进行分析。 - prasantha
的初始值设置为整数1,而不是字符串,然后在单击按钮时将该值增加1。例如:setA(a + 1)
。 - Robin<React.StrictMode />
内运行该应用程序。 - Littlee