我有一个组件,并用错误边界将其包围。
<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的答案显示了如何做。我特别想卸载并重新安装。
答案 0 :(得分:0)
return { componentVisible && this.props.children}
,其中componentVisible是用作切换的道具,理想情况下是布尔值。