Rn笔记

创建项目: react-native init 项目名

运行项目:右击项目,选择在终端打开,输入命令:npm start

路由导航:1 yarn add react-navigation

                   2配置路表:不同的路由导不同的包

                    StackNavigator: import { StackNavigator } from "react-navigation";

                    TabNavigator    :import { TabNavigator } from "react-navigation";      createBottomTabNavigator:import { createBottomTabNavigator } from "react-navigation";

                    createSwitchNavigator:import { createSwitchNavigator } from "react-navigation";

路由分类: StackNavigator        跳转页面(详情页面)传值

                   TabNavigator              顶部导航栏          

                   createBottomTabNavigator  底部导航栏

                   createSwitchNavigator     身份验证

eg:路由表:import { createTabNavigator } from "react-navigation";

                    import News1 from "./../js/News1";

                    import News2 from "./../js/News2";

                    import News3 from "./../js/News3";

const Ly2 = createTabNavigator({

  News1: {

    screen: News1,//

    navigationOptions: {

      title: "新闻1"

    }

  },

  News2: {

    screen: News2,

    navigationOptions: {

      title: "新闻2"

    }

  },

  News3: {

    screen: News3,

    navigationOptions: {

      title: "新闻3"

    }

  }

});

export default Ly2;


底部导航栏:

使用三方图库:

/**

* 图标使用:

* yarn add react-native-vector-icons

* react-native link

*

* import Ionicons from "react-native-vector-icons/Ionicons";

*

* navigationOptions中配置

*/

import { createBottomTabNavigator } from "react-navigation";

import Ionicons from "react-native-vector-icons/Ionicons";

const Home = createBottomTabNavigator(

  {

    Topic: {

      screen: Topic,

      navigationOptions: {

        title: "帖子"

      }

    },

    Publish: {

      screen: Publish,

      navigationOptions: {

        title: "发布"

      }

    },

    My: {

      screen: My,

      navigationOptions: {

        title: "我的"

      }

    }

  },

  {

    //谁设置文本选中前后效果颜色

    tabBarOptions: {

      activeTintColor: "#FF0000", //激活文本图片样式

      inactiveTintColor: "#0000FF", //未激活文本图片样式

      activeBackgroundColor: "#2296F3", //激活背景样式

      inactiveBackgroundColor: "#ffffff" //未激活背景样式

    },

    navigationOptions: ({ navigation }) => ({

      tabBarIcon: ({ focused, tintColor }) => {

        const { routeName } = navigation.state;

        let iconName;

        if (routeName === "Topic") {

          //切换不同的图标

          //iconName = `ios-document${focused ? "" : "-outline"}`;

          //iconName = `${focused ? "ios-document" : "ios-document-outline"}`;

          iconName = "ios-document";

        } else if (routeName === "Publish") {

          iconName = "ios-create";

        } else if (routeName === "My") {

          iconName = "ios-person";

        }

        return <Ionicons name={iconName} size={25} color={tintColor} />;

      }

    })

  }

);






跳转页面,传值取值:

    //跳转到D对应的页面,传递name,age参数

    this.props.navigation.navigate("D", { name: "张三", age: "123" });

    //在D页面中取值

    {this.props.navigation.getParam("name", "AAA")}

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 导航库React Navigation 功能:1.跳转页面 2.底部导航栏 3.顶部导航栏...
    理想三旬_d066阅读 3,030评论 0 0
  • 官方网站 Learn once, navigate anywhere. React Navigation的诞生,源...
    Android_冯星阅读 12,858评论 2 2
  • react-native.jpeg 本文是基于最新的react-navigation^2.9.1来书写的。 如果遇...
    挂着铃铛的兔阅读 221,326评论 131 299
  • 1、有效解决用户点击过快效应多次的控件 react-native-touch-once 2、弹出toast即弹出一...
    xhwASS阅读 3,359评论 0 1
  • 郭相麟 同样的青春,不一样的心理路程,同样的貌美如花,不一样的人生体验! 价格遮住了迷茫的双眼,价值点亮了梦想的青...
    郭相麟阅读 1,105评论 0 0