React Navigation 基础 8 : 术语词汇表

Header – 头部

也叫做导航头部,导航条,navbar,或许还有其他什么叫法。特指导航栈内某个屏幕最上方的一块矩形区域,包含了返回按钮和屏幕标题(可能还有一些其他东西,比如标题右方可能还会有文字图片按钮等)。这整个矩形区域在React Navigation中被叫做"header"(头部)。

Screen component – 屏幕组件

一个屏幕组件指的是我们的路由配置中所使用的组件:

const RootStack = StackNavigator(
  {
    Home: {
      screen: HomeScreen,    // <---- 这是一个屏幕组件
    },
    Details: {
      screen: DetailsScreen, // <---- 这也是一个屏幕组件
    },
  },
  {
    initialRouteName: 'Home',
  }
);

屏幕组件类名字中的后缀Screen完全是可选的,可有可无,只不过这是一个常用的约定;你就是把它命名为CasaPantalla(没有后缀Screen)也一样工作。

之前我们看到屏幕组件被提供了属性navigation。这里需要重点指出的是,仅在React Navigation将一个组件作为屏幕组件渲染时才会对其提供该属性。举个例子讲,假如我们将DetailsScreen组件不作为导航栈的路由定义,而是定义为HomeScreen的孩子,那么DetailsScreen就不会被提供navigation属性,也就是说,这种情况下,你在HomeScreen中点击导航到DetailsScreen的按钮,你会看到一个经典javascript错误提示:undefined is not an object

class HomeScreen extends React.Component {
  render() {
    return (
      <View style={{ flex: 1, alignItems: 'center', justifyContent: 'center' }}>
        <Text>Home Screen</Text>
        <Button
          title="Go to Details"
          onPress={() => this.props.navigation.navigate('Details')}
        />
        <DetailsScreen />
      </View>
    );
  }
}

文章Navigation prop参考手册对这一点有更详细的讲解,还提供一些变通方案,另外还包含了关于this.props.navigation更多可用的属性的介绍。

英文原文

该系列文章目录

React Navigation 基础 8 : 术语词汇表
React Navigation 基础 7 : 全屏模态
React Navigation 基础 6 : 头部按钮
React Navigation 基础 5 : 配置导航头部
React Navigation 基础 4 : 屏幕间切换参数传递
React Navigation 基础 3 : 屏幕间切换
React Navigation 基础 2 : Hello React Navigation
React Navigation 基础 1 :开始使用

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值