ReactNative之PropTypes(七)

前言

眼看很多公司都开始尝试使用ReactNative,达到跨平台开发,最近也写了很多文章,希望让更多想了解的同学快速上手ReactNative.

如果喜欢我的文章,可以关注我微博:袁峥Seemygo

ReactNative之PropTypes

  • 问题:在自定义组件的时候,通常需要暴露属性出去,并且设置属性类型,外界在使用自定义属性的时候,就自动有提示属性功能,。
  • 解决:使用PropTypes就能解决
  • PropTypes用处:
    • 可以实现类型检查,当传入错误的属性值,会报警告,但是不会报错
    • 用PropTypes定义属性,外界使用的时候,会有提示。
  • 注意:
    • PropTypes必须要用static声明,否则无效果。
    • PropTypes 只能用于React框架的自定义组件,默认JS是没有的,因为它是React框架中的。
  •  static:用来定义类方法或者类属性,定义类的方法和属性,生成的对象就自动有这样的属性了。
    

PropTypes使用步骤

  • PropTypes:属性检测,使用的时候需要先导入,在React框架中
import React, { Component,PropTypes } from 'react';

  • 使用

    // 订阅类属性类型,检查属性类型
    static propTypes = {
        name : PropTypes.string,
        age : PropTypes.number
    }
  • 效果
效果.png

属性类型PropTypes

# 数组类型
PropTypes.array

# 布尔类型
PropTypes.bool

# 函数类型
PropTypes.func

# 数值类型
PropTypes.number

# 对象类型
PropTypes.object

# 字符串类型
PropTypes.string

# 规定prop为必传字段
PropTypes.func.isRequired

# prop可为任意类型
PropTypes.any.isRequired

给自定义属性设置初始化值

  • defaultProps:如果想给自定义属性设置初始化值,需要使用defaultProps
  •  注意:也需要添加static
    
  • 使用
//  自定义属性,设置初始值
    static defaultProps = {
        name:'xmg',
        age:20
    }

案例代码

/**
 * Created by ithinkeryz on 2017/5/10.
 */

import React, { Component,PropTypes } from 'react';
import {
    AppRegistry,
    StyleSheet,
    Text,
    View,

} from 'react-native';

export default class XMGView extends Component {

    // 定义属性
    static propTypes = {
        name:PropTypes.string,
        age:PropTypes.number
    }

    // 初始值
    static defaultProps = {
        name:'xmg',
        age:2
    }

    render() {
        // 打印出来, xmg
        console.log(this.props.name)
        return (
            

            
        )
    }

}

你可能感兴趣的:(ReactNative之PropTypes(七))