I would like to suggest a following change,
The Dialog component sets the <body> style as overflow: hidden;. And on dismiss, this style rule is dismissed.
But if the component is removed from DOM while Dialog was being shown, it renders the whole body non-scrollable due to the above style.
I would suggest a componentWillUnmount as follows,
componentWillUnmount: function() {
// dialog has a side-effect if this not checked
document.body.style.overflow = 'auto';
}
or to be more independent, the componentDidMount lifecycle function can store the original state of the body style and on unmount, that style can be restored.
+1 I'm having this issue right now because I'm managing myself if the Dialog is in the dom or not.
The issue is inside de Overlay component. The overflow property is only updated in componentDidUpdate. But when it's removed, the property is therefore never reset :/
+1
Doesn't work well with overflow-y: overlay; CSS property:

Most helpful comment
Doesn't work well with

overflow-y: overlay;CSS property: