我有一个更普遍的问题。在我的应用程序上,我正在使用 React Native Router Flux 从一个页面移动到另一个页面。我注意到根据页面的不同,它会更顺畅地过渡。特别是,当尝试打开使用相机的页面时,过渡是断断续续且糟糕的。显然有很多利用,因为调用相机并在加载页面后将其实时馈送加载到页面中。
有没有办法移动这些过渡看起来不错,就像在许多其他应用程序中一样?是否有像ComponentDidMount或构造函数这样的方法来避免逻辑?是否有一些策略要实施。
任何建议都将令人难以置信!
您可以使用
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
}
}