reaact-native version:0.57
/**
* Sample React Native App
* https://github.com/facebook/react-native
*
* @format
* @flow
*/
import React, {Component} from 'react';
import {
Platform,
StyleSheet,
Text,
View,
Image
} from 'react-native';
// https://github.com/ptomasroos/react-native-tab-navigator
import TabNavigator from 'react-native-tab-navigator';
// npm install react-native-deprecated-custom-components --save
import {Navigator} from 'react-native-deprecated-custom-components';
import Boy from './Boy';
const instructions = Platform.select({
ios: 'Press Cmd+R to reload,\n' + 'Cmd+D or shake for dev menu',
android:
'Double tap R on your keyboard to reload,\n' +
'Shake or press menu button for dev menu',
});
type Props = {};
export default class App extends Component<Props> {
constructor(props) {
super(props);
this.state = {
selectedTab: 'home'
}
}
render() {
return (
<View style={styles.container}>
<Navigator
initialRoute={{
// 跳转到哪个页面
component: Boy
}}
// 固定写法
renderScene={
(route, navigator) => {
let Component = route.component;
return <Component {...route.params} navigator={navigator} />
}
}
/>
</View>
);
}
}
const styles = StyleSheet.create({
container: {
flex: 1,
backgroundColor: '#F5FCFF',
},
page1: {
flex: 1,
backgroundColor: 'red'
},
page2: {
flex: 1,
backgroundColor: 'yellow'
},
image: {
height: 22,
width: 22
}
});
import React, {Component} from 'react';
import {
View,
StyleSheet,
Text
} from 'react-native'
import Girl from './Girl'
export default class Boy extends Component{
constructor(props){
super(props);
this.state = {
word:''
}
}
render(){
return (
<View style={styles.container}>
<Text style={styles.text}>I am boy</Text>
<Text style={styles.text} onPress={() => {
this.props.navigator.push({
component: Girl,
params:{
word:'一支花',
onCallBack:(word) => {
this.setState({
word:word
})
}
}
})
}}>送给女孩一支花</Text>
<Text style={styles.text}>{this.state.word}</Text>
</View>
);
}
}
const styles = StyleSheet.create({
container:{
flex: 1,
backgroundColor: 'gray',
justifyContent: 'center'
},
text:{
fontSize:20
}
});
import React, {Component} from 'react';
import {
View,
StyleSheet,
Text
} from 'react-native'
export default class Girl extends Component{
constructor(props){
super(props);
this.state = {
word:''
}
}
render(){
return (
<View style={styles.container}>
<Text style={styles.text}>I am Girl</Text>
<Text style={styles.text}>我收到男孩的{this.props.word}</Text>
<Text style={styles.text} onPress={() => {
this.props.onCallBack('巧克力');
this.props.navigator.pop();
}}>送给男孩巧克力</Text>
</View>
);
}
}
const styles = StyleSheet.create({
container:{
flex: 1,
backgroundColor: 'gray',
justifyContent: 'center'
},
text:{
fontSize:20
}
});