fix(react): re attach props on update, fixes 20192 (#20228)

This commit is contained in:
Ely Lucas
2020-01-17 16:23:26 -07:00
parent 9a8057cdf2
commit 50dcab5c32

View File

@ -59,6 +59,10 @@ export const createOverlayComponent = <OverlayComponent extends object, OverlayT
} }
async componentDidUpdate(prevProps: Props) { async componentDidUpdate(prevProps: Props) {
if (this.overlay) {
attachProps(this.overlay, this.props, prevProps);
}
if (prevProps.isOpen !== this.props.isOpen && this.props.isOpen === true) { if (prevProps.isOpen !== this.props.isOpen && this.props.isOpen === true) {
this.present(prevProps); this.present(prevProps);
} }
@ -75,19 +79,19 @@ export const createOverlayComponent = <OverlayComponent extends object, OverlayT
[dismissEventName]: this.handleDismiss [dismissEventName]: this.handleDismiss
}; };
const overlay = this.overlay = await controller.create({ this.overlay = await controller.create({
...elementProps, ...elementProps,
component: this.el, component: this.el,
componentProps: {} componentProps: {}
}); });
if (this.props.forwardedRef) { if (this.props.forwardedRef) {
(this.props.forwardedRef as any).current = overlay; (this.props.forwardedRef as any).current = this.overlay;
} }
attachProps(overlay, elementProps, prevProps); attachProps(this.overlay, elementProps, prevProps);
await overlay.present(); await this.overlay.present();
} }
render() { render() {