2017-01-28 30 views
1

我有一个更一般的问题。在我的应用程序中,我使用React Native Router Flux从一个页面移动到另一个页面。我注意到取决于页面,它会过渡更平滑。特别是,当试图打开一个利用相机的页面时,过渡是波涛汹涌和可怕的。显然有很多利用,因为相机被调用,并且一旦该页面被加载,它的实时馈送被加载到页面中。使转换更流畅吗?

是否有任何移动这些转换看起来不错,就像在许多其他应用程序?是否有方法像ComponentDidMount或构造函数来避免逻辑?有没有实施的策略?

任何建议将是不可思议的!

回答

1

您可以使用InteractionManager.runAfterInteractions回调延迟昂贵的渲染,直到当前转换完成。

class SomeView extends Component { 
    state = { 
    ready: false 
    } 

    componentDidMount() { 
    InteractionManager.runAfterInteractions(() => { 
     this.setState({ready: true}) 
    }); 
    } 

    render() { 
    if (!this.state.ready) { 
     // render some placeholder view 
    } 

    // render the actual view 
    } 
}