Hi,
Just realised when isOpen changed, the component mounted/unmounted, which triggers a re-render of its children. I believe it's the line here:
.
It affects our logic of handling side effects. Also we do need to keep the children components all the time. Do you think it is better to just set the width of the pusher to 0 when !isOpen?