前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >StackNavigator in react-navigation 如何动态修改导航标题 headerLeft headerRight headerTitle 等

StackNavigator in react-navigation 如何动态修改导航标题 headerLeft headerRight headerTitle 等

作者头像
onety码生
发布2018-11-21 11:08:43
2.6K0
发布2018-11-21 11:08:43
举报
文章被收录于专栏:码生码生

StackNavigator in react-navigation 如何动态修改导航标题 headerLeft headerRight headerTitle 等

在 StackNavigator 控制下的所有界面均可以通过 this.props.navigation 获取到当前导航对象

当前导航对象下有我们常用的几个方法

例如:

const { navigate, state, setParams } = this.props.navigation;

本文章主要说明一下如何更改导航中的 headerLeft headerRight headerTitle 等

1. 首先稍微回忆一下如何设置当前界面的导航配置 (headerLeft headerRight headerTitle等)

static navigationOptions = ({navigation}) => {
        return {
            headerTitle: '个人信息',
            headerLeft:  null,
            headerRight: null,
            gesturesEnabled: false,
        }};

2. 更改导航配置

通过上面代码可以看到 setParams

它是一个 func

回想一下 this.props.navigation.state.params,与 setParams 是存在相似之处的。

对的,它与 setParams 刚好是对应起来的

当我们调用 this.props.navigation.setParams({}) 时,

static navigationOptions = ({navigation}) => {
        return {
            headerTitle: '个人信息',
            headerLeft:  null,
            headerRight: null,
            gesturesEnabled: false,
        }};

此代码会重新运行,会重新配置当前导航

3. 代码示例

static navigationOptions = ({navigation}) => {
        if (navigation.state.params.navigation) {
            return navigation.state.params.navigation
        }
        return {
            headerTitle: '个人信息',
        }};
 updateNavigation() {
        this.props.navigation.setParams({
            navigation: {
                headerTitle: "动态title",
            }
        });
    }

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2017.12.27 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1. 首先稍微回忆一下如何设置当前界面的导航配置 (headerLeft headerRight headerTitle等)
  • 2. 更改导航配置
  • 3. 代码示例
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档