Modal里面状态切换的导致Flickering问题
如果在modal外面管理状态,在关闭弹窗的时候,因为需要清理状态,弹窗内容会flicking。
解决办法1:在modal的onCompleted或者onExitEnd之类的callback里清理状态。
解决办法2:
???比如我用的是react-aria-components这个库,没有提供这个方法。
可以使用https://developer.mozilla.org/en-US/docs/Web/API/Element/getAnimations#examples
获取退出动画的结束时机,进行清理。
如果在modal内部新建一个组件,管理状态,会在modal关闭后自己清理掉。
tradeoff:
需要新建一个组件。
需要把mutation逻辑放到子组件。
需要传递一些别的父组件的Props过去。