代码如下:
import React, { Component } from 'react'
import {
Text,
View,
TouchableOpacity,
Alert,
} from 'react-native'
export default class HomeOne extends Component {
static navigationOptions = ({ navigation }) => ({
title: '中间内容', // 如果不想设置中间的内容将title=''即可,同理下方的‘headerLeft’或‘headerRight’,不想显示,将其注视即可
headerLeft: () => (
<TouchableOpacity
onPress={()=>navigation.goBack()}
>
<Text>返回</Text>
</TouchableOpacity>
),
headerRight: () => (
<TouchableOpacity
onPress={()=>navigation.state.params.navigatePress()}
>
<Text>选择</Text>
</TouchableOpacity>
)
});
onBackAndroid = () => {
Alert.alert('导航右边内容')
}
componentDidMount() {
// static不能用this,所以可以将函数放到params中
this.props.navigation.setParams({ navigatePress: this.onBackAndroid })
// 路由的传参其中params是一个对象的形式
// const params = {a: 1};
// this.props.navigation.navigate('HomeOne', params);
// 接受参数方法一:
console.log('接受路由的传参方法一', this.props.navigation.state.params);
// 接受参数方法二:
console.log('接受路由的传参方法二', this.props.navigation.getParam('a', '')); // 其中a就是传递参数的时候对象中的a
}
render() {
return (
<View>
<Text> HomeOne </Text>
</View>
)
}
}