React Native 开发

初入React Native,虽然是JS语言但是写法和思想大不相同,本着react.js能写网站,native能写跨平台APP,所以直接学习了react native方便以后的开发,react的思想和最初学的OC很像,把状态与属性给赋值给一个元素,这样非常的..面向对象,不过react写法很不同再加上ES6的新特性,所以记录一下自己的学习过程,方便以后巩固和加深印象。

Windows下环境配置:开发环境地址

遇到的问题:

1.python2:直接装python2.7就好

2.Android Studio2.0或者更高版本,必须装JDK(java Development Kit1.8或者更高版本,然后配置JAVA_HOME路径)文档详细没写

3.node服务器自动启动不了了(肯定是环境路径问题修改出错了)可以通过打开命令行进入软件目录输入react-native start手动开启node服务器

4.安卓模拟器用Genymotion,abd命令行需要进入我的电脑->属性->高级系统设置->系统属性->环境变量->新建Path(如果有Path则用‘;’与之前的Path隔开)->adb.exe路径'SDK\platform-tools'

开始

1.react-navigation,建立导航

页面跳转和搭建TabBar,使用的是React Navigation组件,需要npm install --save react-navigation,页面跳转用

const router = StackNavigator({
    导航页: {
        screen: tabBar
    },
    广告页: {
        screen: Ad
    },
    设置页: {
        screen: Set
    }

});

TabBar用:

const tabBar = TabNavigator({
    首页: {
        screen: Home,
        navigationOptions: {
            tabBarLabel: '首页',
            tabBarIcon: ({
                tintColor,
                focused
            }) => (
                
            ),
        }
    },
    发现: {
        screen: Find,
        navigationOptions: {
            tabBarLabel: '发现',
            tabBarIcon: ({
                tintColor,
                focused
            }) => (
                
            ),
        }
    },
    我的: {
        screen: My,
        navigationOptions: {
            tabBarLabel: '我的',
            tabBarIcon: ({
                tintColor,
                focused
            }) => (
                
            ),
        }
    },
}, {
    tabBarPosition: 'bottom',
    swipeEnabled: false, // 禁止左右滑动
    tabBarOptions: {
        activeTintColor: '#666699', // 文字和图片选中颜色
        inactiveTintColor: '#CC9999', // 文字和图片默认颜色
        showIcon: true, // android 默认不显示 icon, 需要设置为 true 才会显示
        indicatorStyle: {
            height: 0
        }, // android 中TabBar下面会显示一条线,高度设为 0 后就不显示线了, 不知道还有没有其它方法隐藏???
        style: {
            backgroundColor: '#FFFF99', // TabBar 背景色
        },
        labelStyle: {
            fontSize: 12, // 文字大小
        },
    },
});

需要注意的是,需要把TabBar嵌套在StackNavigator里使用,不然进入第二页下面导航栏任然不会消失,这点让我觉得使用非常不爽,因为我理解TabBar逻辑上是最外一层,按钮上每个首页面再通过StackNavigator嵌套跳转页面,然而它是因为堆栈的缘故,如果TabBar放在表层,嵌套页面永远在TabBar下一级,不会盖过TabBar,但是如果把TabBar嵌套在StackNavigator里的话,新打开的一页就会占整屏幕,但是感觉这样写会对整个程序的路线非常模糊。(不过也许router方法会对程序线路管理有帮助?没细看)

2.react-native-vector-icons:图标地址

配置的东西有点多,不过写的很详细,一步步走就好

import Ionicons from 'react-native-vector-icons/Ionicons';
//首页图标配置    
首页: {
        screen: Home,
        navigationOptions: {
            tabBarLabel: '首页',
            tabBarIcon: ({tintColor,focused}) => (
       
            ),
        }
    },


React Native 开发_第1张图片
Paste_Image.png

丑陋的首页以及跳转,把最基础的模型搭建好,之后就可以开始尝试各种组件了~

你可能感兴趣的:(React Native 开发)