溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

react如何實現(xiàn)子組件向父組件通信的方法

發(fā)布時間:2020-11-25 14:18:12 來源:億速云 閱讀:771 作者:小新 欄目:web開發(fā)

這篇文章主要介紹react如何實現(xiàn)子組件向父組件通信的方法,文中介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們一定要看完!

react子組件向父組件通信有兩種方法:回調(diào)函數(shù)和自定義事件機制;但有時用自定義事件會顯然過于復(fù)雜,所以一般用回調(diào)函數(shù),父組件事先定義好回調(diào)函數(shù),并將回調(diào)函數(shù)傳遞給子組件,子組件調(diào)用回調(diào)函數(shù),向父組件通信。

react如何實現(xiàn)子組件向父組件通信的方法

  • 該方法適用于所有品牌的電腦。

React子組件向父組件通信

在 React 中,子組件向父組件通信可以使用兩種方法實現(xiàn):

1、利用回調(diào)函數(shù):這是 JavaScript 靈活方便之處,這樣就可以拿到運行時狀態(tài)。

2、 利用自定義事件機制:這種方法更通用,使用也更廣泛。設(shè)計組件時,考慮加入事件機制往往可以達(dá)到簡化組件 API 的目的。

但有時用自定義事件會顯然過于復(fù)雜,為了達(dá)到目的,一般會選擇較為簡單的方法。

子組件向父組件通信一般用回調(diào)函數(shù),父組件事先定義好回調(diào)函數(shù),并將回調(diào)函數(shù)傳遞給子組件,子組件調(diào)用回調(diào)函數(shù),向父組件通信。

回調(diào)函數(shù)

實現(xià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>
        );
    }
}

觀察一下實現(xiàn)方法,可以發(fā)現(xiàn)它與傳統(tǒng)回調(diào)函數(shù)的實現(xiàn)方法一樣.而且setState一般與回調(diào)函數(shù)均會成對出現(xiàn),因為回調(diào)函數(shù)即是轉(zhuǎn)換內(nèi)部狀態(tài)是的函數(shù)傳統(tǒng);

以上是“react如何實現(xiàn)子組件向父組件通信的方法”這篇文章的所有內(nèi)容,感謝各位的閱讀!希望分享的內(nèi)容對大家有幫助,更多相關(guān)知識,歡迎關(guān)注億速云行業(yè)資訊頻道!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI