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 相关文章推荐
js禁止小键盘输入数字功能代码
Aug 01 Javascript
jquery判断浏览器类型的代码
Nov 05 Javascript
JavaScript 判断浏览器是否支持SVG的代码
Mar 21 Javascript
用Move.js配合创建CSS3动画的入门指引
Jul 22 Javascript
javascript中字体浮动效果的简单实例演示
Nov 18 Javascript
JS字符串的切分用法实例
Feb 22 Javascript
学习使用Bootstrap栅格系统
May 11 Javascript
Mac系统下Webstorm快捷键整理大全
May 28 Javascript
JavaScript面向对象精要(下部)
Sep 12 Javascript
详解Angular5路由传值方式及其相关问题
Apr 28 Javascript
微信小程序mpvue点击按钮获取button值的方法
May 29 Javascript
vue-socket.io跨域问题有效解决方法
Feb 11 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
overlord人气高涨,却被菲利普频繁举报,第四季很难在国内上映
2020/05/06 日漫
php json_encode奇怪问题说明
2011/09/27 PHP
浅析PHP中的i++与++i的区别及效率
2016/06/15 PHP
使用一个for循环将N*N的二维数组的所有值置1实现方法
2017/05/29 PHP
Laravel框架模型的创建及模型对数据操作示例
2019/05/07 PHP
js location.replace与location.reload的区别
2010/09/08 Javascript
如何让页面加载完成后执行js
2013/06/26 Javascript
javascript计算星座属相(十二生肖属相)示例代码
2014/01/09 Javascript
js中哈希表的几种用法总结
2014/01/28 Javascript
Egret引擎开发指南之编译项目
2014/09/03 Javascript
jQuery标签编辑插件Tagit使用指南
2015/04/21 Javascript
JavaScript中rem布局在react中的应用
2015/12/09 Javascript
AngularJS入门之动画
2016/07/27 Javascript
domReady的实现案例
2016/11/23 Javascript
jQuery序列化表单成对象的简单实现
2016/11/29 Javascript
Node.js操作redis实现添加查询功能
2017/05/25 Javascript
js合并两个数组生成合并后的key:value数组
2018/05/09 Javascript
element ui 表格动态列显示空白bug 修复方法
2018/09/04 Javascript
微信小程序点击列表跳转到对应详情页过程解析
2019/09/26 Javascript
python实现批量获取指定文件夹下的所有文件的厂商信息
2014/09/28 Python
在Python中操作列表之list.extend()方法的使用
2015/05/20 Python
Python快速从注释生成文档的方法
2016/12/26 Python
django使用图片延时加载引起后台404错误
2017/04/18 Python
python中 logging的使用详解
2017/10/25 Python
详解Django的CSRF认证实现
2018/10/09 Python
Python3爬虫使用Fidder实现APP爬取示例
2018/11/27 Python
Python 移动光标位置的方法
2019/01/20 Python
解决python中的幂函数、指数函数问题
2019/11/25 Python
Pytorch实现神经网络的分类方式
2020/01/08 Python
HTML5实现应用程序缓存(Application Cache)
2020/06/16 HTML / CSS
旅游管理专业生自荐信范文
2014/01/02 职场文书
社区国庆节活动方案
2014/02/05 职场文书
四风问题自我剖析材料
2014/10/07 职场文书
开学随笔
2015/08/15 职场文书
python实现求纯色彩图像的边框
2021/04/08 Python
Ruby GDBM操作简介及数据存储原理
2022/04/19 Ruby