新学RN ,谁能帮我理解一下 react navigation 跳转,完全看不懂

图片描述

首先装了 react-navigation库,还需要别的库吗? “navigate('Profile', { name: 'Jane' });”这行总是报错,不知道是不是还缺别的库,

我一句一句说出我的理解,现在的情况是我有3个页面js文件
index.android.js
FirstPage.js
SecPage.js

教程 :然后你就可以快速创建一个有两个页面(Main和Profile)的应用
提问: 这两个页面包括 index 页面吗? 还是 Main 就是index ,教程里的代码是写在 index页面吗?
教程:
import {
StackNavigator,
} from 'react-navigation';
//提问: 不用import想要跳转的页面吗?
const App = StackNavigator({ //提问: 这里是形成页面和页面场景关系吗?
Main: {screen: MainScreen},
Profile: {screen: ProfileScreen},
});

class MainScreen extends React.Component { //提问: 这里是建立Main页面场景组件吗?如果是看下题
static navigationOptions = {

title: 'Welcome',

};
render() {

const { navigate } = this.props.navigation;
return (
  <Button
    title="Go to Jane's profile"
    onPress={() =>
      navigate('Profile', { name: 'Jane' });//提问:Main页面的场景组件为什么做一个跳转到Profile页面的按钮?? 也可能从一开始就全理解错了,求帮忙解决
    }
  />
);

}
}

是不是这个组件做出来后就像其它组件一样 ,像<MainScreen/>放入页面的组件里面,就可以形成一个跳转的按钮

下面是我的index.android.js的代码

import React, { Component } from 'react';
import {
AppRegistry,
StyleSheet,
Text,
View,
Button
} from 'react-native';

import {
StackNavigator,
} from 'react-navigation';

import SecPage from './SecPage'; //页面都做了export default ,不知道跳转是不是必须做?
import FirstPage from './FirstPage';

const App = StackNavigator({
One: {screen: OneScreen}, //这个是 index.android.js页面
FirstPage: {screen: FirstPageScreen},
SecPage: {screen: SecPageScreen},
});

class OneScreen extends React.Component {
static navigationOptions = {

title: 'Welcome',

};
render() {

const { navigate } = this.props.navigation;
return (
  <Button
    title="Go to Jane's profile"
    onPress={() =>
      navigate('SecPage', { name: 'SecPage' }); //这行一直报错
    }
  />
);

}
}

export default class One extends Component {
static navigationOptions = {

title: 'Welcome',

};

render() {

return (
  <View style={styles.container}>
    <Text style={styles.welcome}>
      Welcome to React Native!
    </Text>
    <OneScreen/>
  </View>

);

}
}

const styles = StyleSheet.create({
container: {

flex: 1,
justifyContent: 'center',
alignItems: 'center',
backgroundColor: '#F5FCFF',

},
welcome: {

fontSize: 20,
textAlign: 'center',
margin: 10,

}
});

AppRegistry.registerComponent('demo', () => One);

求帮忙,今天一定要把跳转弄出来,急~! 我现在的需求就是 index页面跳转到 FirstPage 或 SecPage 页面,有个例子就比较好理解,求告知 index 这段代码怎么改 ,还有跳转后的页面需要写哪些代码

阅读 2.5k
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题