【发布时间】:2020-03-22 19:55:54
【问题描述】:
当状态或属性保持不变时,React 组件正在渲染。我不明白为什么它会重新渲染/更新,因为结果不会改变
class A extends Component {
render() {
console.log("Hello")
return "Foo";
}
}
class App extends Component {
constructor(props) {
super(props);
this.state = { a: "ASDA" };
}
render() {
return (
<div>
<button onClick={()=>this.setState({a: Math.random()}) }>asdsa</button>
<div>{this.state.a}</div>
<A />
</div>
);
}
每当我单击按钮时,组件 A 都会重新呈现(我可以在控制台中看到“hello”) 我认为 React 避免了许多无用的重新渲染。
【问题讨论】:
-
如果父级重新渲染,子级将重新渲染,这发生在按钮单击时
-
所以你的问题是......你认为 React 避免了许多无用的重新渲染?您是否有要解决的特定编码问题?您在父组件中调用了 setState(),导致父组件和所有子组件重新渲染。
标签: javascript reactjs rendering