React父子元件傳參和方法呼叫

2021-09-28 21:16:45 字數 1898 閱讀 4293

需要準備知識

單項資料流

props

props是唯讀的,不可以使用this.props直接修改props,props是用於整個元件樹中傳遞資料和配置。在當前元件訪問props,使用this.props。

方法傳遞

由於react是單項資料流;所以如果子元件需要呼叫父元件的方法,只能讓父元件將方法傳遞子元件上,有子元件通過this.props.方法呼叫;或者通過閉包在方法上呼叫;

父元件

import

*as react from

'react'

;import child from

'./child'

inte***ce

iparentprops

class

parent

extends

react.component

>

;constructor

(props);}

// 普通方法

private

rendertext

=(str:string)

=>

=this

.props;

console.

log(

this

)this

.setstate()

}// 閉包方法

private

handelview

=(viewid: string)

=>()

=>

=this

.props

settimeout

(function()

,2000)}

render()

=this

.props;

return

(hello, world!

<

/h1>

it is

.<

/h2>

hooktitle=

onhook=

handelview=

>

<

/child>

<

/div>);

}}export

default parent;

子元件

import

*as react from

'react'

;/**

* 注意下面handelview是閉包函式的寫法,可以直接在render中呼叫,不需要通過this.props.方法呼叫

*/inte***ce

iparentprops

class

child

extends

react.component

this

.handelclick =

this

.handelclick.

bind

(this)}

private

handelclick()

render()

=this

.props;

return

(<

/span>

>呼叫onhook函式<

/button>

> 呼叫父元件閉包函式<

/button>

<

/div>)}

}export

default child;

以上的案例就是父元件給子元件傳值;同時子元件呼叫父元件的方法;方法呼叫分為2種;

一種是通過普通的函式,子元件呼叫時候通過this.props.方法 ()

第二種是提供閉包函式;注意子元件引數需要寫成閉包型別;可以直接呼叫;

react父子元件傳參

父子元件通訊主要用到props,如下 在父元件中 import react from react import childcom from childcom.js class parentcom extends react.component export default parentcom 複製 ...

react元件傳參方法

1.props傳參 在子元件中 this props.age 獲取資料 setage v this setstate setage 在子元件使用 2.上下文傳遞引數 context 1.引入的context資料 時 實時更新 當乙個資料發生改變所有引用資料的檢視發生改變 父元件1匯入型別檢測 imp...

父子元件傳參

這個是父子傳參的乙個語法糖,官網上也有推薦,可以去看一下 一般父子傳參都會這麼寫 父 1 子 1 export default,12 13 1415 子元件可以接收來自父元件的modalvisible。子元件如果要修改modalvisible,可以在自己的data中定義乙個變數 tempmodalv...