學習筆記 react元件間傳值

2021-10-10 06:22:28 字數 1562 閱讀 9602

在react中,元件間傳值是乙個非常重要的功能。react中元件拆分要合理,精細。所以元件拆分時,會把乙個頁面級元件分為容器元件和展示元件。

容器元件:只負責當前頁面元件所需要的的所有資料以及業務邏輯。

展示元件:負責接收容器元件中的資料,並展示出來。

展示元件中有可以劃分更詳細的元件。

在容器元件中,準備好要傳的資料(函式+資料)。

render()
在展示元件中接收呼叫。

展示元件一般使用函式元件:可以在函式中接收傳過來的資料。

如果是類元件,需要使用this.props呼叫。

// 函式元件

const uilist = () => (

changeordercol("rate")}>評價

);// 類元件

class uilist extends react.component >評價);}

}

容器元件需要向展示元件的子元件進行傳值,當然也可以一層一層的傳遞,不過比較麻煩,如果資料更新,有可能會使無關的元件重新渲染。

這裡,使用context上下文來儲存容器元件的資料。資料的提供者叫做生產者,資料的使用方叫做消費者。

首先,我們需要在包含頁面級元件的資料夾下新建乙個context.js檔案,其內容為:

import react from "react";

export default react.createcontext();

在頁面級元件的容器元件內匯入context.js檔案,並使用。

import context from './context.js';

render() ;

return (

);}

在需要的子元件中,匯入context.js檔案,並使用。

import context from './context.js';

) => ()}

當子元件是函式元件時:

import react,  from "react";

import ui from './ui.jsx';

import context from '../context.js';

const listorder = () => = usecontext(context);

let uiprops = ;

return (

);};export default listorder;

通過元件間的傳參,在子元件中獲取容器元件的資料,利於元件的拆分和**的維護。

React 元件間傳值

一 1 通過function宣告的元件特點是 1 function建立的元件是沒有state屬性,而state屬性決定它是不是有生命週期。2 function沒有constructor建構函式,3 function的渲染方法是直接呼叫。4 function中不可以用箭頭函式 一 2 通過class宣...

元件祖孫傳值 react元件間的傳值

在react中元件件的傳值,可以是父子之間的傳值,也可以是非父子之間 兄弟之間 的傳值。父子間的傳值 1 父傳子 子元件如果是類元件,通過this.props獲取父元件傳遞過來的值 子元件如果是無狀態元件,則通過props獲取父元件傳遞過來的值。2 子傳父 主要是呼叫父元件傳過來的方法,把實參傳遞到...

React元件間的Context傳值

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