如何在React中卸载和重新安装组件?

时间:2019-04-12 21:36:44

标签: reactjs

我有一个组件,并用错误边界将其包围。

<ErrorBoundary>
   <ChildComponent />
</ErrorBoundary>

<ErrorBoundary />中看起来像这样:

export class ErrorBoundary extends React.Component {
    constructor() {
        super();
    }

    static getDerivedStateFromError(error) {
    }

    componentDidCatch(err, info) {
        console.log('error is caught in the errorbound')
    }

    componentDidUpdate(prevProps) {
        if (prevProps.errorSwitch === this.props.errorSwitch) return;
        console.log('there was an error in the parent component')
        this.forceUpdate()
    }

    render() {
        return this.props.children
    }
}

如何强制this.props.children(子组件)进行1)卸载,然后2)重新安装?

我不是在寻找如何使用新道具重新渲染的方法,因为this的答案显示了如何做。我特别想卸载并重新安装。

1 个答案:

答案 0 :(得分:0)

return { componentVisible && this.props.children},其中componentVisible是用作切换的道具,理想情况下是布尔值。