React 初探(三)- 父子組件通信

概述

既然有了組件,那么組件之間如何進(jìn)行通信呢?

Demo

在線運(yùn)行

預(yù)覽

這個(gè) demo 主要的功能有:

  • Parents 組件向 Son1Son2 組件傳遞一個(gè) age 屬性
  • Son1Son2 組件都可以更改自己的名字
  • Son1Son2 組件都可以 call parent,并且將自己的名字傳給 Parents 組件,當(dāng) Parents 組件接收到之后,將此 Sonage 增加1并且將誰 call 的顯示在頁面中
  • demo 中還有一個(gè) style 的變換
    style 變換

父子組件之間通信

其中 Parents 組件是父組件,Son1Son2 組件是子組件,父組件向子組件傳遞參數(shù)直接在標(biāo)簽后添加屬性即可
父組件向子組件傳遞參數(shù)
子組件使用 props 接收父組件傳遞的參數(shù)
子組件使用 props 接收參數(shù)
子組件通知父組件是通過回調(diào)形式,父組件給子組件傳遞一個(gè)參數(shù)( function ),子組件在適當(dāng)?shù)臅r(shí)候調(diào)用此參數(shù) ( function ),并且可以傳遞一些必要的參數(shù)。例如: demo 中的 this.state.name
<button onClick={this.props.callParent.bind(this, this.state.name)}>call parent</button>

更深層次的通信

將上述例子復(fù)雜化,在 Son1Son2 組件上增加一個(gè) Home 組件,此時(shí) Son1Son2 組件無法直接接收到 callParentage 屬性。這時(shí)將 callParentage 屬性依次傳遞下去即可(在線運(yùn)行

更深層次的通信

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 前言 您將在本文當(dāng)中了解到,往網(wǎng)頁中添加數(shù)據(jù),從傳統(tǒng)的dom操作過渡到數(shù)據(jù)層操作,實(shí)現(xiàn)同一個(gè)目標(biāo),兩種不同的方式....
    itclanCoder閱讀 26,238評論 1 12
  • 什么是組件? 組件 (Component) 是 Vue.js 最強(qiáng)大的功能之一。組件可以擴(kuò)展 HTML 元素,封裝...
    youins閱讀 9,702評論 0 13
  • 第一部分 HTML&CSS整理答案 1. 什么是HTML5? 答:HTML5是最新的HTML標(biāo)準(zhǔn)。 注意:講述HT...
    kismetajun閱讀 28,774評論 1 45
  • 或許你會(huì)奇怪我這樣一個(gè)普通的大學(xué)生為什么會(huì)有這樣的想法,本該臉上永遠(yuǎn)帶著笑身上永遠(yuǎn)發(fā)著光的年紀(jì),我卻深深羨慕著我...
    酆籽閱讀 492評論 0 1
  • 郭子儀是華州人,起初在沙漠邊塞當(dāng)兵駐防,后來因?yàn)榈骄┏谴哕婐A,走到離銀州十幾里的地方時(shí),忽然起了風(fēng)暴,刮得飛沙走石...
    愛恩閱讀 589評論 0 0

友情鏈接更多精彩內(nèi)容