当父级shouldComponentUpdate()始终返回false时,子级不重新渲染

时间:2020-08-29 00:16:12

标签: javascript reactjs

父母的状态发生了变化,但是孩子们从未重新渲染自己。

class Parent extends Component<{}, {isSelected: boolean}> {    
    constructor(props: any) {
        super(props)
        this.state = {
            isSelected: false
        }
    }

    shouldComponentUpdate() {
        return false
    }

    onClick = () => {
        this.setState( (state) => {
            return {isSelected: !this.state.isSelected}
        })
    }

    render() {
        return (
            <Button onClick={this.onClick}>
                <Child isSelected={this.state.isSelected}/>
            </Button>
        )
    }
}

我知道,ComponentComponentUpdate()不会影响其子级的重新渲染,那么为什么不重新渲染子级呢? (如果我删除了shouldComponentUpdate(),一切都会按预期进行)

0 个答案:

没有答案