【发布时间】:2019-07-22 14:53:40
【问题描述】:
演示:
https://codesandbox.io/s/2zkxyk31oy
import React, { useState } from "react";
import ReactDOM from "react-dom";
function App() {
console.log("render");
let [val, setVal] = useState(0);
return <button onClick={() => setVal(1)}>go</button>;
}
const rootElement = document.getElementById("root");
ReactDOM.render(<App />, rootElement);
我期望看到的是两个渲染调用:初始调用和由状态变化引起的调用。
第三个setState 调用应该没有效果,因为如果状态没有改变,react 会退出渲染。 https://reactjs.org/docs/hooks-reference.html#bailing-out-of-a-state-update
到底发生了什么?
【问题讨论】:
标签: reactjs