美文网首页
react-navigation导航入门

react-navigation导航入门

作者: 碧玉小瑕 | 来源:发表于2019-08-22 18:59 被阅读0次

A. 导入相关库

a. 安装react-navigation库

npm install react-navigation

b. 安装react-native-gesture-handler库

npm install react-native-gesture-handler

c. 安装react-native-reanimated库

npm install react-native-reanimated

另:要求react-native在0.60之上

B. iOS需要pod install

安装react-native-gesture-handler

C. 一个简单的Demo

import React from 'react';

import { View, Text } from 'react-native';

import { createStackNavigator, createAppContainer } from 'react-navigation';

class HomeScreen extends React.Component {

  render() {

    return (

      <View style={{ flex: 1, alignItems: 'center', justifyContent: 'center' }}>

        <Text>Home Screen</Text>

      </View>

    );

  }

}

class DetailsScreen extends React.Component {

  render() {

    return (

      <View style={{ flex: 1, alignItems: 'center', justifyContent: 'center' }}>

        <Text>Details Screen</Text>

      </View>

    );

  }

}

const RootStack = createStackNavigator(

  {

    Home: HomeScreen,

    Details: DetailsScreen,

  },

  {

    initialRouteName: 'Home',

  }

);

const AppContainer = createAppContainer(RootStack);

export default class App extends React.Component {

  render() {

    return <AppContainer />;

  }

}

D. 页面切换---跳转到新的页面

class HomeScreen extends React.Component {

  render() {

    return (

      <View style={{ flex: 1, alignItems: 'center', justifyContent: 'center' }}>

        <Text>Home Screen</Text>

        <Button title = 'Go to Details' onPress = {()=>this.props.navigation.navigate('Details')} />

      </View>

    );

  }

}

E.页面切换---多次导航到同一路由

// 从DetailsScreen继续进入DetailsScreen页面,如果使用navigate啥也不会做,因为此时已经在Details这个路由上了,如果要继续添加这个页面,则需要是用push方法

class DetailsScreen extends React.Component {

  render() {

    return (

      <View style={{ flex: 1, alignItems: 'center', justifyContent: 'center' }}>

        <Text>Details Screen</Text>

        <Button title = 'Go to Details...again' onPress = {()=>this.props.navigation.push('Details')} />

      </View>

    );

  }

}

相关文章

网友评论

      本文标题:react-navigation导航入门

      本文链接:https://www.haomeiwen.com/subject/tyuosctx.html