ReactNative之PropTypes(七)

前言

眼看很多公司都開始嘗試使用ReactNative,達(dá)到跨平臺開發(fā),最近也寫了很多文章,希望讓更多想了解的同學(xué)快速上手ReactNative.

如果喜歡我的文章,可以關(guān)注我微博:袁崢Seemygo

ReactNative之PropTypes

  • 問題:在自定義組件的時候,通常需要暴露屬性出去,并且設(shè)置屬性類型,外界在使用自定義屬性的時候,就自動有提示屬性功能,。
  • 解決:使用PropTypes就能解決
  • PropTypes用處:
    • 可以實(shí)現(xiàn)類型檢查,當(dāng)傳入錯誤的屬性值,會報警告,但是不會報錯
    • 用PropTypes定義屬性,外界使用的時候,會有提示。
  • 注意:
    • PropTypes必須要用static聲明,否則無效果。
    • PropTypes 只能用于React框架的自定義組件,默認(rèn)JS是沒有的,因?yàn)樗荝eact框架中的。
  •  static:用來定義類方法或者類屬性,定義類的方法和屬性,生成的對象就自動有這樣的屬性了。
    

PropTypes使用步驟

  • PropTypes:屬性檢測,使用的時候需要先導(dǎo)入,在React框架中
import React, { Component,PropTypes } from 'react';

  • 使用

    // 訂閱類屬性類型,檢查屬性類型
    static propTypes = {
        name : PropTypes.string,
        age : PropTypes.number
    }
  • 效果
效果.png

屬性類型PropTypes

# 數(shù)組類型
PropTypes.array

# 布爾類型
PropTypes.bool

# 函數(shù)類型
PropTypes.func

# 數(shù)值類型
PropTypes.number

# 對象類型
PropTypes.object

# 字符串類型
PropTypes.string

# 規(guī)定prop為必傳字段
PropTypes.func.isRequired

# prop可為任意類型
PropTypes.any.isRequired

給自定義屬性設(shè)置初始化值

  • defaultProps:如果想給自定義屬性設(shè)置初始化值,需要使用defaultProps
  •  注意:也需要添加static
    
  • 使用
//  自定義屬性,設(shè)置初始值
    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 (
            <View>

            </View>
        )
    }

}
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • Android 自定義View的各種姿勢1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 178,812評論 25 709
  • Spring Boot 參考指南 介紹 轉(zhuǎn)載自:https://www.gitbook.com/book/qbgb...
    毛宇鵬閱讀 47,256評論 6 342
  • react 基本概念解析 react 的組件聲明周期 react 高階組件,context, redux 等高級...
    南航閱讀 1,134評論 0 1
  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理,服務(wù)發(fā)現(xiàn),斷路器,智...
    卡卡羅2017閱讀 136,506評論 19 139
  • 這幾天我大一了,作為一個已經(jīng)預(yù)科老前輩我有些驕傲和自卑。驕傲的是我比現(xiàn)在的真正大一的新生來說,我對這個大學(xué)不陌生。...
    她是個壞人閱讀 282評論 0 0

友情鏈接更多精彩內(nèi)容