React 使用Context傳遞引數

2021-09-20 08:38:43 字數 2297 閱讀 9465

extends

react

.component

}

);}}

extends

react

.component

}

);} );}

);extends

react

.component

}*******

(props

) themedbutton

(props)

theme

=/>

}

consumer

>);}

當provider發生資料變更時,會觸發到 consumer 發生渲染,所有被其包裹的子元件都會發生渲染(render方法被呼叫)。

});button

() ) => (

)});

}

);}extends

react.component

)); };

theme: themes.light,

};} render() }

, });

extends

react

.component

render() >

value=>

usercontext.provider>

themecontext.provider>

);}}

function layout()

function content() theme= />

)}usercontext.consumer>

)}themecontext.consumer>

);}的value發生變更都會觸發所有consumer包裹的子元件渲染。

button

extends

react

.component

}>

button>

);}}

message

extends

react

.component

color=>

delete

button

>

div>

);}}

messagelist

extends

react

.component

color= />

);return

div>;

}}button

extends

react

.component

}>

button>

);}}

};message

extends

react

.component

>

delete

button

>

div>

);}}

messagelist

extends

react

.component

; }

render() />

);return

div>;

}}//限定子元件的color值只接收string型別的引數

messagelist.childcontexttypes = ;

to="/">homelink>

li>

to="/about">aboutlink>

li>

to="/topics">topicslink>

li>

ul>

exact

path="/"

component=

path="/about"

component=

path="/topics"

component=

div>

router>

););

button = (, context) =>

button

style

=}>

button

>

;button.contexttypes = ;

mediaquery

extends

react

.component

getchildcontext()

componentdidmount()

};checkmediaquery();

} render() }};

React元件間的Context傳值

在乙個典型的 react 應用中,資料是通過 props 屬性自上而下 由父及子 進行傳遞的,如下 themebtn 中想要獲取到context 中的 text 屬性,需要將 text 屬性從 context 傳遞到 再傳遞到 themebtn,可以想象假如有10層,那將極其繁瑣!context提供...

react中Context的使用

context 提供了乙個無需為每層元件手動新增 props,就能在元件樹間進行資料傳遞的方法。props單向資料流動 如果覺得props傳遞資料很繁瑣,可以採用context,進行跨元件傳遞資料 例如給子代元素傳遞一筆錢 手動新增狗頭 為了後續使用方便,封裝乙個元件 import from rea...

react中Context的使用

context 提供了乙個無需為每層元件手動新增 props,就能在元件樹間進行資料傳遞的方法。props單向資料流動 如果覺得props傳遞資料很繁瑣,可以採用context,進行跨元件傳遞資料 例如給子代元素傳遞一筆錢 手動新增狗頭 為了後續使用方便,封裝乙個元件 import from rea...