react 父子組件之間通訊props
實(shí)現(xiàn)父子組件雙向數(shù)據(jù)流整體的思路是:
1,父組件可以向子組件傳遞props,props中帶有初始化子組件的數(shù)據(jù),還有回調(diào)函數(shù)
2,子組件的state發(fā)生變化時(shí),在子組件的事件處理函數(shù)中,手動(dòng)觸發(fā)父函數(shù)傳遞進(jìn)來(lái)的回調(diào)函數(shù),同時(shí)時(shí)將子組件的數(shù)據(jù)傳遞回去(有時(shí)間研究)
父組件
父組件中定義一個(gè)函數(shù),包含一個(gè)props的參數(shù),函數(shù)內(nèi)利用super(props)傳遞給子組件,this.state中用于定義本頁(yè)面中要用到的以及要傳遞給子組件的變量。
父組件的render函數(shù)中利用<Table list={this.state.list}/>此種形式傳遞給子組件
(ps:此例子中也包含組件之間的嵌套,同時(shí)組件的名稱(chēng)開(kāi)頭字母必須大寫(xiě),不然會(huì)報(bào)錯(cuò))
import React from 'react';
import Footer from './footer.js'
import Table from './table.js'
class pagedemo extends React.Component {
constructor(props) {
super(props);
this.state = {
list: [{
'id':'1',
'title':'123',
'time':'2017',
'person':'cheny0815',
'type':'type',
'operation':'operation'
},{
'id':'2',
'title':'456',
'time':'2017',
'person':'cheny0815',
'type':'type',
'operation':'operation'
},{
'id':'3',
'title':'789',
'time':'2017',
'person':'cheny0815',
'type':'type',
'operation':'operation'
}]
}
}
render() {
let list = this.state.list;
return (
<div className="content">
<div className="content_main">
<Table list={list}/> //組件之間的通訊
</div>
<Footer /> //組件嵌套
</div>
);
}
}
export default pagedemo;
子組件(table.js)
子組件調(diào)用父組個(gè)傳遞過(guò)來(lái)的參數(shù),并進(jìn)行傳值
import React from 'react';
function table(props) {
console.log(props);
return (
<div className="table_main">
<table>
<tbody>
<tr className="first_tr">
<td>內(nèi)容</td>
<td>發(fā)起人</td>
<td>類(lèi)型</td>
<td>時(shí)間</td>
<td>操作</td>
</tr>
{
props.list.map(function(name){ //接受父組件傳遞過(guò)來(lái)的值并進(jìn)行處理
return (
<tr key={name.id}>
<td>{name.title}</td>
<td>{name.person}</td>
<td>{name.type}</td>
<td>{name.time}</td>
<td>{name.operation}</td>
</tr>
)
})
}
</tbody>
</table>
</div>
)
}
export default table;
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
react實(shí)現(xiàn)Radio組件的示例代碼
這篇文章主要介紹了react實(shí)現(xiàn)Radio組件的示例代碼,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2021-04-04
詳解React??App.js?文件的結(jié)構(gòu)和作用
在React應(yīng)用中,App.js文件通常是項(xiàng)目的根組件文件,它負(fù)責(zé)組織和渲染其他組件,是應(yīng)用的核心部分,本文將詳細(xì)介紹App.js文件的結(jié)構(gòu)、作用和最佳實(shí)踐,感興趣的朋友跟隨小編一起看看吧2024-08-08
如何解決React官方腳手架不支持Less的問(wèn)題(小結(jié))
這篇文章主要介紹了如何解決React官方腳手架不支持Less的問(wèn)題(小結(jié)),小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2018-09-09
淺談React組件props默認(rèn)值的設(shè)置
本文主要介紹了淺談React組件props默認(rèn)值的設(shè)置,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2023-04-04
react hook使用useState更新數(shù)組,無(wú)法更新問(wèn)題及解決
這篇文章主要介紹了react hook使用useState更新數(shù)組,無(wú)法更新問(wèn)題及解決,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2024-03-03
React.js組件實(shí)現(xiàn)拖拽排序組件功能過(guò)程解析
這篇文章主要介紹了React.js組件實(shí)現(xiàn)拖拽排序組件功能過(guò)程解析,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-04-04

