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 相关文章推荐
使用UglifyJS合并/压缩JavaScript的方法
Mar 07 Javascript
JavaScript中的this到底是什么(一)
Dec 09 Javascript
实践中学习AngularJS表单
Mar 21 Javascript
js实现瀑布流效果(自动生成新的内容)
Mar 16 Javascript
JS将unicode码转中文方法
May 08 Javascript
vue init webpack 建vue项目报错的解决方法
Sep 29 Javascript
解决echarts的多个折现数据出现坐标和值对不上的问题
Dec 28 Javascript
ElementUI多个子组件表单的校验管理实现
Nov 07 Javascript
Vue 中 a标签上href无法跳转的解决方式
Nov 12 Javascript
微信小程序实现多选框全选与反全选及购物车中删除选中的商品功能
Dec 17 Javascript
node.js中path路径模块的使用方法实例分析
Feb 13 Javascript
微信小程序实现底部弹出模态框
Nov 18 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中用文本文件做数据库的实现方法
2008/03/27 PHP
php实现utf-8和GB2312编码相互转换函数代码
2013/02/07 PHP
递归实现php数组转xml的代码分享
2015/05/14 PHP
Smarty日期时间操作方法示例
2016/11/15 PHP
PHP 二维array转换json的实例讲解
2018/08/21 PHP
yii2.0框架数据库操作简单示例【添加,修改,删除,查询,打印等】
2020/04/13 PHP
JS多物体 任意值 链式 缓冲运动
2012/08/10 Javascript
js改变鼠标的形状和样式的方法
2014/03/31 Javascript
js Dialog 去掉右上角的X关闭功能
2014/04/23 Javascript
js验证IP及子网掩码的合法性有效性示例
2014/04/30 Javascript
gameboy网页闯关游戏(riddle webgame)--仿微信聊天的前端页面设计和难点
2016/02/21 Javascript
基于jQuery插件实现点击小图显示大图效果
2016/05/11 Javascript
用JS中split方法实现彩色文字背景效果实例
2016/08/24 Javascript
浅述Javascript的外部对象
2016/12/07 Javascript
vue2 前后端分离项目ajax跨域session问题解决方法
2017/04/27 Javascript
vue2.0.js的多级联动选择器实现方法
2018/02/09 Javascript
vue中render函数的使用详解
2018/10/12 Javascript
解决vue cli使用typescript后打包巨慢的问题
2019/09/30 Javascript
jquery实现商品sku多属性选择功能(商品详情页)
2019/12/20 jQuery
[53:10]2018DOTA2亚洲邀请赛 4.6 淘汰赛 VP vs VG 第一场
2018/04/11 DOTA
pip 错误unused-command-line-argument-hard-error-in-future解决办法
2014/06/01 Python
python实现根据用户输入从电影网站获取影片信息的方法
2015/04/07 Python
python简单实现旋转图片的方法
2015/05/30 Python
python Kmeans算法原理深入解析
2019/08/23 Python
基于python实现从尾到头打印链表
2019/11/02 Python
深入解析HTML5 Canvas控制图形矩阵变换的方法
2016/03/24 HTML / CSS
手机端用rem+scss做适配的详解
2017/11/15 HTML / CSS
尼克松手表官网:Nixon手表
2019/03/17 全球购物
美国围栏公司:Walpole Outdoors
2019/11/19 全球购物
如何在Cookie里面保存Unicode和国际化字符
2013/05/25 面试题
学前教育求职自荐信范文
2013/12/25 职场文书
语文教学随笔感言
2014/02/18 职场文书
《珍珠泉》教学反思
2014/02/20 职场文书
学党史心得体会
2014/09/05 职场文书
师德师风自查材料
2014/10/14 职场文书
2015年个人实习工作总结
2015/05/28 职场文书