新版 react context的寫法

2022-02-11 11:04:11 字數 1572 閱讀 2438

祖元件:

import react,  from "react";

import cnode from "../components/cnode";

type propstype ={};

type statetype =;

//這裡要匯出這個上下文,下面的子孫元件哪個用到context的東西哪個就引入一下

export const infocontext: context=createcontext();

class test extends react.component

, };

} handleclick = () =>;

this

.setstate();

};render() >

this.handleclick()}>傳遞

); }

}export

default test;

子元件:

import react from "react";

import snode from "../components/snode";

type propstype ={};

type statetype ={};

class test extends react.component

; }

render()

}export

default test;

孫元件:

import react from "react";

import from '../components/gpnode'//

引入上下文

type propstype ={};

type statetype ={};

class test extends react.component;//

不寫在這裡的話初始化的時候不會獲取到傳遞的context

test.contexttype =infocontext;

}render()

年齡:);}}

export

default test;

也可以用孫元件以消費者的外掛程式模式這麼寫:

import react from "react";

import from "./gpnode"; //

引入上下文

class test extends react.component ;

//不寫在這裡的話初始化的時候不會獲取到傳遞的context

test.contexttype =infocontext;

console.log(infocontext);

} render()

年齡)}

); }

}test.displayname = "ssss";

export

default test;

但是這裡有個問題就是沒有探測出context的預設值是在哪個地方可以觸發,根據官方的文件來看了半天摸不著頭腦,有知道的大神麻煩賜教

react Context的使用,清晰明了

context 提供了乙個無需為每層元件手動新增 props,就能在元件樹間進行資料傳遞的方法。在乙個典型的 react 應用中,資料是通過 props 屬性自上而下 由父及子 進行傳遞的,但這種做法對於某些型別的屬性而言是極其繁瑣的 例如 地區偏好,ui 主題 這些屬性是應用程式中許多元件都需要的...

React Context 理解和使用

如果發現文章有問題也可以在文章下方及時聯絡筆者哦,相互 一起進步 const context react.createcontext defaultvalue function contextprovider 但是如果沒有對應的context.provider相匹配,那麼元件樹上的所有元件都可以收到...

對 React Context 的理解以及應用

很多優秀的react元件都通過context來完成自己的功能 在react元件開發中,如果用好context,可以讓你的元件變得強大,而且靈活。簡單說就是,當你不想在元件樹中通過逐層傳遞props或者state的方式來傳遞資料時,可以使用context來實現跨層級的元件資料傳遞。使用props或者s...