MobX React 替换 componentWillReact() 以触发布局动画

Posted

技术标签:

【中文标题】MobX React 替换 componentWillReact() 以触发布局动画【英文标题】:MobX React replacement for componentWillReact() for triggering layout animations 【发布时间】:2020-09-09 22:12:53 【问题描述】:

它曾经是recommended to use componentWillReact() to trigger layout animations 以响应可观察值的变化,如下所示:

componentWillReact() 
        LayoutAnimation.configureNext(LayoutAnimation.Presets.spring);
    

但是,componentWillReact() 已在 mobx-react@6 中删除。

推荐的替代品是什么?我的 observable 类应该对它的 observer 一无所知,所以我正在寻找类似的事件驱动解决方案。

谢谢!

【问题讨论】:

【参考方案1】:

如果我正确地回答了您的问题,并且您有机会使用功能组件,请尝试使用 useLayoutEffect 钩子而不是 componentWillReact,将可观察值声明为其 deps,并在钩子的回调中调用 LayoutAnimation.configureNext,如下所示:

useLayoutEffect(() => 
  LayoutAnimation.easeInEaseOut();
, [store.something]);

【讨论】:

以上是关于MobX React 替换 componentWillReact() 以触发布局动画的主要内容,如果未能解决你的问题,请参考以下文章

使用 mobx-react-stores 开发 react 应用

mobx+react基础

react状态管理器之mobx

React-Router&MobX - Provider

React中的状态管理---Mobx

React中的状态管理---Mobx