react改变title_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 > Hello, Navigation !

onPress={() => navigate('Chat',{user:'Lucy'})}

title="Chat with Lucy"/ >

);

}

}

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 > Chat with {

params.user

} < /Text> );

}

}

export default ChatScreen;

效果2:

/** * 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 = (

title="Done"

onPress={() => setParams({ mode: 'none' })}

/ >

);

}

return {right};

},

};

render() {

const {

params

} = this.props.navigation.state;

return (

< View >

< Text > Chat with {params.user} < /Text>

);

}

}

export default ChatScreen;

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值