Navigator组件中使用不同的弹入效果

在初始化Navigator的时候,一般会设置configureScene属性用于设定组件的弹入效果,比如从底往上,从右往左。。

一般我们这么写:

<Navigator
  initialRoute={{
    name: 'Home',
    component: Home,
    params: {}
  }}
  configureScene={(route, routeStack) => Navigator.SceneConfigs.FloatFromBottom}
  renderScene={(route, navigator) => {
    let Cmp = route.component;
    return <Cmp {...route.params} navigator={navigator} />;
  }} />

但是我们可能有多个组件,如果每个组件都是同一个弹入方式,那也太无聊了,所以我们应该设置多个不同的弹入方式:

configureScene={(route, routeStack) => {
  const configs = Navigator.SceneConfigs;
  switch(route.name) {
    case 'SecondPage':
      return configs.FloatFromBottom;
    default:
      return configs.FloatFromRight;
  }
}}

原理:在configureScene配置中判断routename属性,判断要推入的页面,最后返回不同的弹入方式。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容