React-Navigation 头部设置

头部只只适用于StackNavigator组件。

1.传值

在前面例子中,我们创建了类似聊天 app的一个StackNavigator。切换卡左侧是好友列表,右侧是最近聊天。
现在我们点击一个好友,出现聊天界面,并且聊天界面中有从列表中传递过来的参数。
如下的方式可以实现:
this.props.navigation.navigate('Chat', { user: 'Lucy' });
我们知道 通过props给父组件设置一个值,子组件就可以接收到值。

class ChatScreen extends React.Component {
  render() {
    const { params } = this.props.navigation.state;
    return <Text>Chat with {params.user}</Text>;
  }
}

OK!!这样就完成了传值。


2.设置头部标题
设置屏幕头部参数。

class ChatScreen extends React.Component {
  static navigationOptions = ({ navigation }) => ({
    title: `Chat with ${navigation.state.params.user}`,
  });
}

3.为头部右侧添加一个按钮,比如返回,详情等
然后,我们可以添加一个标题导航选项,让我们可以添加自定义的右按钮。

static navigationOptions = ({ navigation }) => {
  const {state, setParams} = navigation;
  const isInfo = state.params.mode === 'info';
  const {user} = state.params;
  return {
    title: isInfo ? `${user}'s Contact Info` : `Chat with ${state.params.user}`,
    headerRight: (
      <Button
        title={isInfo ? 'Done' : `${user}'s info`}
        onPress={() => setParams({ mode: isInfo ? 'none' : 'info'})}
      />
    ),
  };
};
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 136,327评论 19 139
  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 177,498评论 25 709
  • 1. “我为你付出那么多你却从来没有感动过” —— 是绝大多数人时不时遇到的委屈,你也有过吧?拿出纸笔,仔细罗列一...
    乘风后浪阅读 234评论 0 0
  • 37花桥之伤——悼念小黄 谨以此诗怀念我们永远的小狗 题记: 生命就是一件穿越时空的古董 如此珍贵,却也如此脆弱!...
    秭归秀才9条命儿阅读 324评论 0 1
  • 开始之前,先来看一段话: 商业中的战略概念源自军事领域,本义是“驱动军队抵达决战地点”。杰克·特劳特根据军事中“选...
    郭小果子阅读 352评论 2 1

友情链接更多精彩内容