前言
react中,我们通过this.setState()方法去改变自身组件的state,以及子组件的props,然后触发组件重新渲染。
那么,当我们setState之后,新的state和旧的state值是一样,页面也会进行重新渲染,这是不必要的,也是损耗性能的。
举例
写一个demo
import React, {
Component } from 'react';
//子组件
const Son = (props) => {
console.log("--son--render----")
return <div> Son: {
props.son}</div>
}
//父组件,传给子组件一个on的prop
class App extends Component {
state = {
name: 'scarlet',
son: 2
}
componentDidMount() {
setInterval(() => {
this.setState({
name: this.state.name,
son: this.state.son
})
}, 1 * 1000