国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 開發 > JS > 正文

React-Native中props具體使用詳解

2024-05-06 16:39:27
字體:
來源:轉載
供稿:網友

props就是屬性,是為了描述一個組件的特征而存在的。它是父組件傳遞給子組件的。

使用props

通過上一個頁面傳遞

新建一個 PropsTest.js 文件

exprot default class PropsTestextendesComponent{  render(){    return <Text>{this.props.name}</Text>  }}

在上一個頁面中使用PropsTest組件

import PropsTest from './PropsTest'<PropsTest   name = 'XiaoMing'/>

注意: 上方代碼,均為代碼片段。

默認屬性,以及它的作用

由于props的屬性都是上個頁面傳遞的,所以無法修改它。但是我們可以在PropsTest文件中,給props定義一些默認的值。

exprot default class PropsTestextends Component{  static defaultProps={    name: 'XiaoHong'  }  render(){    return <Text>{this.props.name}</Text>  }}

注意,defaultProps 需要使用static關鍵字來做靜態修飾。這樣,如果上個頁面沒有傳值,則顯示的是這個默認的屬性。

對props進行約束和檢查

exprot default class PropsTestextends Component{  static defaultProps={    name: 'XiaoHong'  }  static propTypes={    name: PropTypes.string,    age: PropTypes.number,    sex: PropTypes.string.isRequired  }  render(){    return <Text>{this.props.name}</Text>  }}

對props里面的屬性進行類型判斷,可以使用propTypes來做到,同樣需要使用static關鍵字來修飾。

isRequired 可以指定必填項

注意:

propTypes屬性 在 react 包中,需要先導入才能使用。

props延伸操作符

ES6的最新語法

假如我們的組件需要好多屬性,如下:

params = {name: 'XiaoZhang', age: 18, sex: '男'}// 如果需要傳遞給下一個頁面需要:<PropsTest  name = {params.name}  sex = {params.sex}  age = {params.age}/>// 等等,這樣如果屬性特別多,代碼將會變得難以維護。

在ES6中可以使用最新的延伸操作符特性

<PropsTest  {...params}/>

非常的簡潔

props解構賦值

ES6的最新語法

通過延伸操作符傳遞的對象,在另一個組件中想要從中獲取某幾個來使用,可以用解構賦值的方式

var {name, age} = params;// 其他地方就可以直接引用name和age了{name}或{age}// 這么做的好處,同樣是不需要使用如下的傳統方式{params.name}或{params.age}

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持VeVb武林網。

 

注:相關教程知識閱讀請移步到JavaScript/Ajax教程頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 金山区| 黄骅市| 横峰县| 伊宁县| 陇南市| 屏东市| 内丘县| 方山县| 唐山市| 师宗县| 岢岚县| 诸城市| 阳西县| 墨脱县| 怀仁县| 宜阳县| 铜川市| 玉溪市| 崇州市| 美姑县| 自治县| 霍城县| 垫江县| 洞口县| 诏安县| 内丘县| 那坡县| 德惠市| 禄丰县| 漳平市| 弥勒县| 河东区| 东阿县| 荃湾区| 冷水江市| 迁西县| 哈密市| 资中县| 玉山县| 南涧| 资阳市|