React元件間的Context傳值

2021-10-09 14:30:42 字數 1646 閱讀 4333

在乙個典型的 react 應用中,資料是通過 props 屬性自上而下(由父及子)進行傳遞的,**如下

themebtn 中想要獲取到context****** 中的 text 屬性,需要將 text 屬性從 context****** 傳遞到

*******,再傳遞到 themebtn,可以想象假如有10層,那將極其繁瑣!

context提供了一種在元件之間共享值的方式,而不必顯式地通過元件樹的逐層傳遞 props。

import react,

from

'react'

;function

themebtn

(props)

<

/div>)}

function

*******

(props)

>

<

/themebtn>

}class

context******

extends

component;}

render()

>

<

/*******>);

}}export

default context******;

建立乙個context物件

const themecontext = react.

createcontext()

;

provider(訂閱者):provider 接收乙個 value 屬性,傳遞給消費者元件。

注意:這個value名字是固定的,不能改變,否則後面的消費者元件中獲取不到屬性值

>
consumer(消費者):這裡,react 元件也可以訂閱到 context 變更

<

/div>

}<

/themecontext.consumer>

context 完整使用**:

import react,

from

'react'

;// 建立乙個context物件

const themecontext = react.

createcontext()

;function

themebtn

(props)

<

/div>

}<

/themecontext.consumer>)}

function

*******

(props)

class

context******

extends

component;}

render()

>

<*******>

<

/*******>

<

/themecontext.provider>);

}}export

default context******;

react類元件的第四個屬性context

步驟如下 import from react let createcontext provider是生產者,consumer為消費者 傳值的話必須是value myprovider裡的index.js import react,from react let context createcontext...

react父子元件間的交流

統一說明 1 代表父元件,2 代表子元件 一 傳值,即在父元件中宣告好自己的state,然後傳值,如下 1.初始值 constructor 2.如有改變設定值 this.setstate 3.在父元件中傳值 this.state.statevalue 二 取值,即在需要的地方取到通過props取父元...

React 元件間的通訊示例

前言 從官網上也有介紹元件間如何通訊,但不夠詳細,這裡做個小結,方便對比和回顧 本文內容 處理元件之間的通訊,主要取決於元件之間的關係,因此我們劃分為以下三種 一 父元件 向 子元件 傳值 這是最普遍的用法,實現上也非常簡單,主要是利用props來實現 父元件 import react from r...