react props傳參配置

2021-10-02 18:14:20 字數 2029 閱讀 3775

1、引入庫

import xx from 'prop-types';

2、配置引數資訊(不符合只會報警告,不會中斷程式)

類元件:

(1)傳參型別

元件名.proptypes=

(2)傳參只包含乙個引數,且必須傳遞該引數

元件名.proptypes=

(3)引數預設值

元件名.defaultprops=

或在元件類中給元件類新增屬性

static proptypes=

static defaultprops=

函式式元件:

函式名.proptypes=

函式名.defaulttypes=

引數驗證:

optionalarray: react.proptypes.array,

optionalbool: react.proptypes.bool,

optionalfunc: react.proptypes.func,

optionalnumber: react.proptypes.number,

optionalobject: react.proptypes.object,

optionalstring: react.proptypes.string,

// 所有可以被渲染的物件:數字,

// 字串,dom 元素或包含這些型別的陣列。

optionalnode: react.proptypes.node,

// react 元素

optionalelement: react.proptypes.element,

// 用 js 的 instanceof 操作符宣告 prop 為類的例項。

optionalmessage: react.proptypes.instanceof(message),

// 用 enum 來限制 prop 只接受指定的值。

optionalenum: react.proptypes.oneof(['news', 'photos']),

// 指定的多個物件型別中的乙個

optionalunion: react.proptypes.oneoftype([

react.proptypes.string,

react.proptypes.number,

react.proptypes.instanceof(message)

]),// 指定型別組成的陣列

optionalarrayof: react.proptypes.arrayof(react.proptypes.number),

// 指定型別的屬性構成的物件

optionalobjectof: react.proptypes.objectof(react.proptypes.number),

// 特定形狀引數的物件

optionalobjectwithshape: react.proptypes.shape(),

// 以後任意型別加上 `isrequired` 來使 prop 不可空。

requiredfunc: react.proptypes.func.isrequired,

// 不可空的任意型別

requiredany: react.proptypes.any.isrequired,

**示例:

import react,

from

'react'

import proptypes from

'prop-types'

;export

default

class

user

extends

component

<

/p>

<

/div>)}

}user.proptypes=

//驗證必選項

user.proptypes =

;//預設值

user.defaultprops=

vue傳參,元件之間傳參 路由傳參 vuex

詳見 兩種情況 params 和 query 都可以在目標元件的生命週期裡,通過 this.route 進行獲取 例 首頁中精選主題的路由傳參 精選主題 1 簡單舉例 a 一般會新建 store 資料夾,在 index.js 初始化 vuex b 在 main.js 中,引入 c 例如,在我的頁面修...

Struts配置檔案傳參

對於struts配置檔案傳參的使用 假如第乙個action1可以把需要傳的引數放到值棧裡面 定義private stringmessage屬性,然後get和set就好 之後給這個變數賦值,在action可以這樣配置紅色 action2.action?mymessage 之後在前台可以在action2...

params傳參和query傳參

params傳參 this.router.push query傳參 this.router.push 1 用法上的 query要用path來引入,params要用name來引入,接收引數都是類似的,分別是this.route.query.name和this.route.params.name。注意接...