這篇文章主要介紹react如何實(shí)現(xiàn)子組件向父組件通信的方法,文中介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們一定要看完!
10年的商都網(wǎng)站建設(shè)經(jīng)驗(yàn),針對(duì)設(shè)計(jì)、前端、開發(fā)、售后、文案、推廣等六對(duì)一服務(wù),響應(yīng)快,48小時(shí)及時(shí)工作處理。全網(wǎng)整合營(yíng)銷推廣的優(yōu)勢(shì)是能夠根據(jù)用戶設(shè)備顯示端的尺寸不同,自動(dòng)調(diào)整商都建站的顯示方式,使網(wǎng)站能夠適用不同顯示終端,在瀏覽器中調(diào)整網(wǎng)站的寬度,無論在任何一種瀏覽器上瀏覽網(wǎng)站,都能展現(xiàn)優(yōu)雅布局與設(shè)計(jì),從而大程度地提升瀏覽體驗(yàn)。創(chuàng)新互聯(lián)從事“商都網(wǎng)站設(shè)計(jì)”,“商都網(wǎng)站推廣”以來,每個(gè)客戶項(xiàng)目都認(rèn)真落實(shí)執(zhí)行。
react子組件向父組件通信有兩種方法:回調(diào)函數(shù)和自定義事件機(jī)制;但有時(shí)用自定義事件會(huì)顯然過于復(fù)雜,所以一般用回調(diào)函數(shù),父組件事先定義好回調(diào)函數(shù),并將回調(diào)函數(shù)傳遞給子組件,子組件調(diào)用回調(diào)函數(shù),向父組件通信。
該方法適用于所有品牌的電腦。
React子組件向父組件通信
在 React 中,子組件向父組件通信可以使用兩種方法實(shí)現(xiàn):
1、利用回調(diào)函數(shù):這是 JavaScript 靈活方便之處,這樣就可以拿到運(yùn)行時(shí)狀態(tài)。
2、 利用自定義事件機(jī)制:這種方法更通用,使用也更廣泛。設(shè)計(jì)組件時(shí),考慮加入事件機(jī)制往往可以達(dá)到簡(jiǎn)化組件 API 的目的。
但有時(shí)用自定義事件會(huì)顯然過于復(fù)雜,為了達(dá)到目的,一般會(huì)選擇較為簡(jiǎn)單的方法。
子組件向父組件通信一般用回調(diào)函數(shù),父組件事先定義好回調(diào)函數(shù),并將回調(diào)函數(shù)傳遞給子組件,子組件調(diào)用回調(diào)函數(shù),向父組件通信。
回調(diào)函數(shù)
實(shí)現(xiàn)在子組件中點(diǎn)擊隱藏組件按鈕可以將自身隱藏的功能
List3.jsx
import React, { Component } from 'react'; import PropTypes from 'prop-types'; class List3 extends Component { static propTypes = { hideConponent: PropTypes.func.isRequired, } render() { return ( <div> 哈哈,我是List3 <button onClick={this.props.hideConponent}>隱藏List3組件</button> </div> ); } } export default List3;
App.jsx
import React, { Component } from 'react'; import List3 from './components/List3'; export default class App extends Component { constructor(...args) { super(...args); this.state = { isShowList3: false, }; } showConponent = () => { this.setState({ isShowList3: true, }); } hideConponent = () => { this.setState({ isShowList3: false, }); } render() { return ( <div> <button onClick={this.showConponent}>顯示Lists組件</button> { this.state.isShowList3 ?<List3 hideConponent={this.hideConponent} />:null } </div> ); } }
觀察一下實(shí)現(xiàn)方法,可以發(fā)現(xiàn)它與傳統(tǒng)回調(diào)函數(shù)的實(shí)現(xiàn)方法一樣.而且setState一般與回調(diào)函數(shù)均會(huì)成對(duì)出現(xiàn),因?yàn)榛卣{(diào)函數(shù)即是轉(zhuǎn)換內(nèi)部狀態(tài)是的函數(shù)傳統(tǒng);
以上是“react如何實(shí)現(xiàn)子組件向父組件通信的方法”這篇文章的所有內(nèi)容,感謝各位的閱讀!希望分享的內(nèi)容對(duì)大家有幫助,更多相關(guān)知識(shí),歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道!
新聞標(biāo)題:react如何實(shí)現(xiàn)子組件向父組件通信的方法
瀏覽地址:http://jinyejixie.com/article24/jjgdje.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供建站公司、網(wǎng)站建設(shè)、App設(shè)計(jì)、手機(jī)網(wǎng)站建設(shè)、微信小程序、網(wǎng)站設(shè)計(jì)公司
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)