react-navigation之动态修改title的内容


Posted in Javascript onSeptember 26, 2018

本文介绍了react-navigation之动态修改title的内容,分享给大家,具体如下:

效果图:

react-navigation之动态修改title的内容

动态修改title内容:

static navigationOptions = {
    title: ({ state }) => `Chat with ${state.params.user}`
  };

ps:`Chat with ${state.params.user}` 这里有个注意的地方,是这个符号·而不是单引号‘

index.android.js

/** 
* Sample React Native App 
* https://github.com/facebook/react-native 
* @flow
 */
import {
  AppRegistry,
}from 'react-native';
import rootApp from './js/rootApp'
AppRegistry.registerComponent('GankProject', () = >rootApp);

rootApp.js:

/**
 * Created by Administrator on 2017/3/31 0031. 
*/
'use strict'import React from 'react';
import {
  AppRegistry,
  Text,
  View,
  Button,
}
from 'react-native';
import {
  StackNavigator
}
from 'react-navigation';
import ChatScreen from './ChatScreen';
class HomeScreen extends React.Component {
  static navigationOptions = {
    title: 'Welcome',
    //设置标题内容  };  
    render() {
      const {
        navigate
      } = this.props.navigation;
      return ( < View > <Text > Hello, Navigation ! </Text>   
      <Button      
    onPress={() => navigate('Chat',{user:'Lucy'})}       
    title="Chat with Lucy"/ > </View> 
   ); 
 }
} 
const SimpleApp = StackNavigator(
{  
 Home: {screen: HomeScreen}, 
  Chat:{screen:ChatScreen}, 
}
); 
export default SimpleApp;

ChatScreen.js:

/**
 * Created by Administrator on 2017/3/31 0031. 
*/
'use strict'
import React,{Component}from 'react';
import {View,Text}from 'react-native';
class ChatScreen extends Component {
  static navigationOptions = {
    title: ({state}) = >`Chat with $ {state.params.user}`
  };
  render() {
    const {params} = this.props.navigation.state;
    return ( < View > <Text > Chat with {
      params.user
    } < /Text>      </View > );
  }
}
export default ChatScreen;

效果2:

react-navigation之动态修改title的内容

/** * Created by Administrator on 2017/3/31 0031. */
'use strict'
import React, { Component}from 'react';
import {View, Text, Button}from 'react-native';
class ChatScreen extends Component {
  static navigationOptions = {
    title: ({
        state
      }) => {
        if (state.params.mode === 'info') {
          return `${state.params.user}'s Contact Info`;
        }
        return `Chat with ${state.params.user}`;
      },
      header: ({state, setParams}) => {
        // The navigation prop has functions like setParams, goBack, and navigate.  
        let right = ( < Button title = {
            `${state.params.user}'s info`
          }
          onPress = {
            () => setParams({
              mode: 'info'
            })
          }
          />     
          );     
   if (state.params.mode === 'info') {    
   right = (      
   <Button          
   title="Done"           
   onPress={() => setParams({ mode: 'none' })}        
   / >
        );
      }
    return {right};
  },
};
render() {
  const {
    params
  } = this.props.navigation.state;
  return ( 
    < View >
    < Text > Chat with {params.user} < /Text> 
    </View >
  );
}
}
export default ChatScreen;

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
仿淘宝TAB切换搜索框搜索切换的相关内容
Sep 21 Javascript
使用jQuery获取data-的自定义属性
Nov 10 Javascript
详解JS中Array对象扩展与String对象扩展
Jan 07 Javascript
个人网站留言页面(前端jQuery编写、后台php读写MySQL)
May 03 Javascript
input框中的name和id的区别
Nov 16 Javascript
详解axios 全攻略之基本介绍与使用(GET 与 POST)
Sep 15 Javascript
vue弹窗消息组件的使用方法
Sep 24 Javascript
vue项目中jsonp跨域获取qq音乐首页推荐问题
May 30 Javascript
js中位运算的运用实例分析
Dec 11 Javascript
nuxt.js添加环境变量,区分项目打包环境操作
Nov 06 Javascript
vue前端和Django后端如何查询一定时间段内的数据
Feb 28 Vue.js
ECharts transform数据转换和dataZoom在项目中使用
Dec 24 Javascript
React项目动态设置title标题的方法示例
Sep 26 #Javascript
Vue resource三种请求格式和万能测试地址
Sep 26 #Javascript
JS返回页面时自动回滚到历史浏览位置
Sep 26 #Javascript
使用weixin-java-tools完成微信授权登录、微信支付的示例
Sep 26 #Javascript
解决vuejs 使用value in list 循环遍历数组出现警告的问题
Sep 26 #Javascript
深入理解react-router 路由的实现原理
Sep 26 #Javascript
node.js使用redis储存session的方法
Sep 26 #Javascript
You might like
求PHP数组最大值,最小值的代码
2011/10/31 PHP
php 发送带附件邮件示例
2014/01/23 PHP
php 判断字符串编码是utf-8 或gb2312实例
2016/11/01 PHP
php文件后缀不强制为.php的实操方法
2019/09/18 PHP
javascript针对DOM的应用分析(四)
2012/04/15 Javascript
JS批量操作CSS属性详细解析
2013/12/16 Javascript
append和appendTo的区别以及appendChild用法
2013/12/24 Javascript
JavaScript获取图片真实大小代码实例
2014/09/24 Javascript
浅谈js的setInterval事件
2014/12/05 Javascript
正则表达式优化JSON字符串的技巧
2015/12/24 Javascript
bootstrap实现弹窗和拖动效果
2016/01/03 Javascript
简单理解vue中实例属性vm.$els
2016/12/01 Javascript
微信小程序表单验证功能完整实例
2017/12/01 Javascript
Angular路由ui-router配置详解
2018/08/01 Javascript
详解JavaScript 的变量
2019/03/08 Javascript
微信二次分享报错invalid signature问题及解决方法
2019/04/01 Javascript
在vue中使用echarts(折线图的demo,markline用法)
2020/07/20 Javascript
Vue用mixin合并重复代码的实现
2020/11/27 Vue.js
如何管理Vue中的缓存页面
2021/02/06 Vue.js
[05:49]2014DOTA2TI4正赛第二日综述 昔日冠军纷纷落马 VG LGD占尽先机
2014/07/20 DOTA
python压缩文件夹内所有文件为zip文件的方法
2015/06/20 Python
python 把列表转化为字符串的方法
2018/10/23 Python
python中的协程深入理解
2019/06/10 Python
Python 静态方法和类方法实例分析
2019/11/21 Python
使用tqdm显示Python代码执行进度功能
2019/12/08 Python
使用 Python 在京东上抢口罩的思路详解
2020/02/27 Python
Python 字典一个键对应多个值的方法
2020/09/29 Python
Canvas实现放大镜效果完整案例分析(附代码)
2020/11/26 HTML / CSS
幼儿园老师辞职信
2014/01/20 职场文书
2014大学生全国两会学习心得体会
2014/03/13 职场文书
绩效工资实施方案
2014/03/15 职场文书
毕业生就业推荐表自我评价
2015/03/02 职场文书
2016年教师师德师风心得体会
2016/01/12 职场文书
CSS 圆形进度栏
2021/04/06 HTML / CSS
基于Go Int转string几种方式性能测试
2021/04/28 Golang
sql通过日期判断年龄函数的示例代码
2021/07/16 SQL Server