這篇文章將為大家詳細(xì)講解有關(guān)React-Native中props怎么用,小編覺(jué)得挺實(shí)用的,因此分享給大家做個(gè)參考,希望大家閱讀完這篇文章后可以有所收獲。
來(lái)鳳網(wǎng)站建設(shè)公司創(chuàng)新互聯(lián),來(lái)鳳網(wǎng)站設(shè)計(jì)制作,有大型網(wǎng)站制作公司豐富經(jīng)驗(yàn)。已為來(lái)鳳上千家提供企業(yè)網(wǎng)站建設(shè)服務(wù)。企業(yè)網(wǎng)站搭建\外貿(mào)營(yíng)銷(xiāo)網(wǎng)站建設(shè)要多少錢(qián),請(qǐng)找那個(gè)售后服務(wù)好的來(lái)鳳做網(wǎng)站的公司定做!
props就是屬性,是為了描述一個(gè)組件的特征而存在的。它是父組件傳遞給子組件的。
使用props
通過(guò)上一個(gè)頁(yè)面?zhèn)鬟f
新建一個(gè) PropsTest.js 文件
exprot default class PropsTestextendesComponent{ render(){ return{this.props.name} } }
在上一個(gè)頁(yè)面中使用PropsTest組件
import PropsTest from './PropsTest'
注意: 上方代碼,均為代碼片段。
默認(rèn)屬性,以及它的作用
由于props的屬性都是上個(gè)頁(yè)面?zhèn)鬟f的,所以無(wú)法修改它。但是我們可以在PropsTest文件中,給props定義一些默認(rèn)的值。
exprot default class PropsTestextends Component{ static defaultProps={ name: 'XiaoHong' } render(){ return{this.props.name} } }
注意,defaultProps 需要使用static關(guān)鍵字來(lái)做靜態(tài)修飾。這樣,如果上個(gè)頁(yè)面沒(méi)有傳值,則顯示的是這個(gè)默認(rèn)的屬性。
對(duì)props進(jìn)行約束和檢查
exprot default class PropsTestextends Component{ static defaultProps={ name: 'XiaoHong' } static propTypes={ name: PropTypes.string, age: PropTypes.number, sex: PropTypes.string.isRequired } render(){ return{this.props.name} } }
對(duì)props里面的屬性進(jìn)行類(lèi)型判斷,可以使用propTypes來(lái)做到,同樣需要使用static關(guān)鍵字來(lái)修飾。
isRequired 可以指定必填項(xiàng)
注意:
propTypes屬性 在 react 包中,需要先導(dǎo)入才能使用。
props延伸操作符
ES6的最新語(yǔ)法
假如我們的組件需要好多屬性,如下:
params = {name: 'XiaoZhang', age: 18, sex: '男'} // 如果需要傳遞給下一個(gè)頁(yè)面需要:// 等等,這樣如果屬性特別多,代碼將會(huì)變得難以維護(hù)。
在ES6中可以使用最新的延伸操作符特性
非常的簡(jiǎn)潔
props解構(gòu)賦值
ES6的最新語(yǔ)法
通過(guò)延伸操作符傳遞的對(duì)象,在另一個(gè)組件中想要從中獲取某幾個(gè)來(lái)使用,可以用解構(gòu)賦值的方式
var {name, age} = params; // 其他地方就可以直接引用name和age了 {name}或{age} // 這么做的好處,同樣是不需要使用如下的傳統(tǒng)方式 {params.name}或{params.age}
關(guān)于“React-Native中props怎么用”這篇文章就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,使各位可以學(xué)到更多知識(shí),如果覺(jué)得文章不錯(cuò),請(qǐng)把它分享出去讓更多的人看到。