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 相关文章推荐
CSDN轮换广告图片轮换效果
Mar 27 Javascript
extjs 04_grid 单击事件新发现
Nov 27 Javascript
node.js中RPC(远程过程调用)的实现原理介绍
Dec 05 Javascript
Node.js开发之访问Redis数据库教程
Jan 14 Javascript
js实现简洁的TAB滑动门效果代码
Sep 06 Javascript
JQuery核心函数是什么及使用方法介绍
May 03 Javascript
vue.js-div滚动条隐藏但有滚动效果的实现方法
Mar 03 Javascript
React Native悬浮按钮组件的示例代码
Apr 05 Javascript
详解Vue开发微信H5微信分享签名失败问题解决方案
Aug 09 Javascript
JS删除String里某个字符的方法
Jan 06 Javascript
jQuery实现移动端下拉展现新的内容回弹动画
Jun 24 jQuery
JavaScript如何判断对象有某属性
Jul 03 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
地球防卫队:陪着奥特曼打小怪兽的人类力量 那些经典队服
2020/03/08 日漫
Windows Apache2.2.11及Php5.2.9-1的安装与配置方法
2009/06/08 PHP
php中json_decode()和json_encode()的使用方法
2012/06/04 PHP
php排序算法(冒泡排序,快速排序)
2012/10/09 PHP
PHP动态编译出现Cannot find autoconf的解决方法
2014/11/05 PHP
小程序微信退款功能实现方法详解【基于thinkPHP】
2019/05/05 PHP
Uglifyjs(JS代码优化工具)入门 安装使用
2020/04/13 Javascript
JavaScript可否多线程? 深入理解JavaScript定时机制
2012/05/23 Javascript
基于Jquery+Ajax+Json实现分页显示附效果图
2014/07/30 Javascript
JavaScript对象数组如何按指定属性和排序方向进行排序
2016/06/15 Javascript
jQuery EasyUI中的日期控件DateBox修改方法
2016/11/09 Javascript
解析jQueryEasyUI的使用
2016/11/22 Javascript
又一款MVVM组件 构建自己的Vue组件(2)
2017/03/13 Javascript
Vue2.0实现1.0的搜索过滤器功能实例代码
2017/03/20 Javascript
Node.js连接mongodb实例代码
2017/06/06 Javascript
解决vue A对象赋值给B对象,修改B属性会影响到A的问题
2018/09/25 Javascript
Vue-cli3项目引入Typescript的实现方法
2019/10/18 Javascript
简述Vue中容易被忽视的知识点
2019/12/09 Javascript
vuex管理状态仓库使用详解
2020/07/29 Javascript
[01:46]2018完美盛典章节片——坚守
2018/12/17 DOTA
Python实现的摇骰子猜大小功能小游戏示例
2017/12/18 Python
Python面向对象之类的内置attr属性示例
2018/12/14 Python
python异步Web框架sanic的实现
2020/04/27 Python
Python中and和or如何使用
2020/05/28 Python
pycharm激活方法到2099年(激活流程)
2020/09/22 Python
python中time.ctime()实例用法
2021/02/03 Python
CSS3 text-shadow实现文字阴影效果
2016/02/24 HTML / CSS
如何用PHP实现邮件发送
2012/12/26 面试题
外企财务年会演讲稿
2014/01/03 职场文书
家长给幼儿园的表扬信
2014/01/09 职场文书
四年级下册教学反思
2014/02/01 职场文书
称象教学反思
2014/02/03 职场文书
交通事故责任认定书
2015/08/06 职场文书
2017新年晚会开幕词
2016/03/03 职场文书
为什么不建议在go项目中使用init()
2021/04/12 Golang
SpringMVC 整合SSM框架详解
2021/08/30 Java/Android