我从文档中读到,每次更新状态时都会重新呈现组件。这是表示整个类执行还是只表示render()?
Class Sample extends component {
render() {
<Footer onSelect = (item) => this.setState(item1:item) />
}
}
如果根据上面的例子更新状态,那么进一步执行会是什么?
答案 0 :(得分:0)
setState()
函数将按此顺序运行一系列函数的链:
shouldComponentUpdate() > componentWillUpdate() > render() > componentDidUpdate()
对于提供的组件,只运行render()
函数,更新与状态相关的任何组件。
答案 1 :(得分:-1)
更新组件中的状态时,它将触发多于render()函数。它会调用:
shouldComponentUpdate()
componentWillUpdate()
render()
componentDidUpdate()
如果您将该状态作为属性传递给子Component,此操作也会更新它,调用{Childis]中的componentWillReceiveProps()
和所有上述函数,因此它也将被重新渲染。 / p>
您可以阅读有关React Lifecycle的好文章here。