导航实验波涛过渡

时间:2016-09-21 16:02:42

标签: react-native

我在使用RN 0.33和NavigationExperimental进行平滑过渡方面遇到了问题。我认为问题在于渲染的场景渲染相对昂贵,而NavigationExperimental保留了两个场景以进行过渡。我想知道优化这个过程的好策略是什么。

到目前为止,我所做的是有一个“动画片”。导航组件中的状态,它将场景组件的shouldComponentUpdate设置为false。

1 个答案:

答案 0 :(得分:1)

我遇到了这个问题,转换中丢帧的原因是数据的提取以及我转换到的组件的componentDidMount中的后续渲染。

您可以在componentDidMount中使用InteractionManager,以便您的提取代码仅在任何动画或转换完成后运行。

例如:

  import { InteractionManager } from 'react-native'

  componentDidMount() {
    this.interaction = InteractionManager.runAfterInteractions(() => {          
      performExpensiveFetch()
    })
  }

  componentWillUnmount() {
    if(this.interaction) this.interaction.cancel()
  }