как загрузить компонент класса приложенияWillUnmount - PullRequest
0 голосов
/ 28 февраля 2020

Вот класс приложения. Возвращает div или null в качестве значения значения в функции рендеринга. Не должна ли функция componentWillUnmount приложения также выполняться при возврате null? Я не понимаю, что выполняется только функция componentWillUnmount классов Header и Body.

export default class App extends React.Component {
    constructor(props) {
        super(props);
        this.state = {value : true};
    }

    componentWillUnmount() {
        console.log('App componentWillUnmount');
    }

    btnClick() {
        this.setState({
            value: ! this.state.value
        });
    }

    render () {
        if(this.state.value) {
            return (
                <div>
                    <button onClick={this.btnClick.bind(this)}>Btn</button>
                    <Header id={this.state.value}></Header>
                    <Body></Body>
                </div>
            )
        } else {
            return null;
        }
    }
}

ReactDOM.render(
    <App id="3"/>,
    document.getElementById('root')
);
...