Skip to main content

Command Palette

Search for a command to run...

Modal里面状态切换的导致Flickering问题

Updated
1 min read
  1. 如果在modal外面管理状态,在关闭弹窗的时候,因为需要清理状态,弹窗内容会flicking。

    1. 解决办法1:在modal的onCompleted或者onExitEnd之类的callback里清理状态。

    2. 解决办法2:

???比如我用的是react-aria-components这个库,没有提供这个方法。

可以使用https://developer.mozilla.org/en-US/docs/Web/API/Element/getAnimations#examples
获取退出动画的结束时机,进行清理。

  1. 如果在modal内部新建一个组件,管理状态,会在modal关闭后自己清理掉。

    tradeoff:

    1. 需要新建一个组件。

    2. 需要把mutation逻辑放到子组件。

    3. 需要传递一些别的父组件的Props过去。

💡
Update!!! 在弹窗开启的时候,重置状态即可。