<span id="mktg5"></span>

<i id="mktg5"><meter id="mktg5"></meter></i>

        <label id="mktg5"><meter id="mktg5"></meter></label>
        最新文章專(zhuān)題視頻專(zhuān)題問(wèn)答1問(wèn)答10問(wèn)答100問(wèn)答1000問(wèn)答2000關(guān)鍵字專(zhuān)題1關(guān)鍵字專(zhuān)題50關(guān)鍵字專(zhuān)題500關(guān)鍵字專(zhuān)題1500TAG最新視頻文章推薦1 推薦3 推薦5 推薦7 推薦9 推薦11 推薦13 推薦15 推薦17 推薦19 推薦21 推薦23 推薦25 推薦27 推薦29 推薦31 推薦33 推薦35 推薦37視頻文章20視頻文章30視頻文章40視頻文章50視頻文章60 視頻文章70視頻文章80視頻文章90視頻文章100視頻文章120視頻文章140 視頻2關(guān)鍵字專(zhuān)題關(guān)鍵字專(zhuān)題tag2tag3文章專(zhuān)題文章專(zhuān)題2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章專(zhuān)題3
        問(wèn)答文章1 問(wèn)答文章501 問(wèn)答文章1001 問(wèn)答文章1501 問(wèn)答文章2001 問(wèn)答文章2501 問(wèn)答文章3001 問(wèn)答文章3501 問(wèn)答文章4001 問(wèn)答文章4501 問(wèn)答文章5001 問(wèn)答文章5501 問(wèn)答文章6001 問(wèn)答文章6501 問(wèn)答文章7001 問(wèn)答文章7501 問(wèn)答文章8001 問(wèn)答文章8501 問(wèn)答文章9001 問(wèn)答文章9501
        當(dāng)前位置: 首頁(yè) - 科技 - 知識(shí)百科 - 正文

        react開(kāi)發(fā)教程之React 組件之間的通信方式

        來(lái)源:懂視網(wǎng) 責(zé)編:小采 時(shí)間:2020-11-27 22:32:56
        文檔

        react開(kāi)發(fā)教程之React 組件之間的通信方式

        react開(kāi)發(fā)教程之React 組件之間的通信方式:這兩天學(xué)習(xí)了React感覺(jué)組件通信這個(gè)地方知識(shí)點(diǎn)挺多的,而且很重要,所以,今天添加一點(diǎn)小筆記。 父子組件通訊 通訊手段 這是最常見(jiàn)的通信方式,父組件只需要將子組件需要的props傳給子組件,子組件直接通過(guò)this.props來(lái)使用。 通訊內(nèi)容 更多要提的是
        推薦度:
        導(dǎo)讀react開(kāi)發(fā)教程之React 組件之間的通信方式:這兩天學(xué)習(xí)了React感覺(jué)組件通信這個(gè)地方知識(shí)點(diǎn)挺多的,而且很重要,所以,今天添加一點(diǎn)小筆記。 父子組件通訊 通訊手段 這是最常見(jiàn)的通信方式,父組件只需要將子組件需要的props傳給子組件,子組件直接通過(guò)this.props來(lái)使用。 通訊內(nèi)容 更多要提的是

        這兩天學(xué)習(xí)了React感覺(jué)組件通信這個(gè)地方知識(shí)點(diǎn)挺多的,而且很重要,所以,今天添加一點(diǎn)小筆記。

        父子組件通訊

        通訊手段

        這是最常見(jiàn)的通信方式,父組件只需要將子組件需要的props傳給子組件,子組件直接通過(guò)this.props來(lái)使用。

        通訊內(nèi)容

        更多要提的是如何合理的設(shè)置子組件的props,要想將子組件設(shè)計(jì)成一個(gè)復(fù)用性強(qiáng)的通用組件,需要將能夠復(fù)用的部分抽象出來(lái),抽象出來(lái)的props有兩種形成,一種是簡(jiǎn)單的變量,另一種是抽象出來(lái)處理某種邏輯函數(shù)。

        以Header 組件為例

        //HeaderBar.jsx 子組件
        
        import React, { Component } from 'react';
        
        class Header extends Component {
         constructor() {
         super();
         this.handleClick = (e) => {
         console.log(this)
         }
         }
        
         renderLeftComponent() {
        
         let leftDOM = {};
         if (this.props.renderLeftComponent) {
         return this.props.renderLeftComponent();
         }
        
         if (this.props.showBack) {
         let backFunc = this.props.onBack || this.goBack;
         leftDOM = (<a onClick={backFunc.bind(this)}><i className="icon left-icon icon-left-arrow"></i></a>);
         }
         return leftDOM;
         }
         
        
         renderRightComponent() {
         if (this.props.renderRightComponent) {
         return this.props.renderRightComponent();
         }
         }
        
         goBack() {
         alert("返回上一頁(yè)")
         }
        
         render() {
         return (
         <header className="header-bar">
         {this.renderLeftComponent()}
         <span>{this.props.title || '滴滴'}</span>
         {this.renderRightComponent()}
         </header>
         );
         }
        }
        
        export default Header;
        
        //父親組件部分代碼App.jsx
        import HeaderBar from "./components/Header";
        
        let leftIcon = function () {
         return (
         <a><i className="icon left-icon icon-left-haha"></i>左邊按鈕</a>
         )
        }
        class App extends Component {
        
         render() {
         return (
         <div className="App">
         <HeaderBar title="滴滴打車(chē)" renderLeftComponent={leftIcon} />
         </div>
         );
         }
        }
        

        子父組件通訊

        父-子組件通信的手段是通過(guò)子組件的props是子組件用父組件的東西,子-父組件通信,是父組件用子組件的東西,暫時(shí)了解的兩種方法

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

        父組件通過(guò)props傳遞一個(gè)方法給子組件,子組件通過(guò)props方法將子組件數(shù)據(jù)傳遞給父組件

        利用ref

        父組件通過(guò)refs調(diào)用子組件的屬性

        跨級(jí)組件通信

        在React中當(dāng)一個(gè)屬性反復(fù)使用并且存在與好幾個(gè)子組件中的時(shí)候,這個(gè)時(shí)候我們?nèi)绻ㄟ^(guò)props一級(jí)一級(jí)傳遞的話(huà)可以實(shí)現(xiàn)多層級(jí)訪問(wèn),但是這樣出現(xiàn)一個(gè)問(wèn)題就是會(huì)使代碼非常混亂,在React中國(guó)年,我們還可以使用 context 來(lái)實(shí)現(xiàn)跨級(jí)父子組件間的通信;

        在react中context稱(chēng)為蟲(chóng)洞

        // Component 父級(jí)
        class parentComponent extends React.Component {
         
         // add the following property
         static childContextTypes = {
         color: React.PropTypes.string
         }
         
         // 添加下面方法
         getChildContext() {
         return {
         color: "#f00"
         }
         }
         
         render() {
         <div>
         <Child1 />
         </div>
         }
        }
        
        
        // Component Child1
        class Child1 extends React.Component {
         // 添加下面屬性
         static contextTypes = {
         color: React.PropTypes.string
         }
         
         render() {
         <div>{this.context.color}</div>
         }
        }
        
        

        同級(jí)組件通信

        同級(jí)組件之間的通信還是需要通過(guò)父組件作為中介,利用多次父-子組件通信,項(xiàng)目中將需要傳遞的數(shù)據(jù)放在了父組件的state中,變動(dòng)時(shí)可以自動(dòng)的同步傳遞。

        聲明:本網(wǎng)頁(yè)內(nèi)容旨在傳播知識(shí),若有侵權(quán)等問(wèn)題請(qǐng)及時(shí)與本網(wǎng)聯(lián)系,我們將在第一時(shí)間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com

        文檔

        react開(kāi)發(fā)教程之React 組件之間的通信方式

        react開(kāi)發(fā)教程之React 組件之間的通信方式:這兩天學(xué)習(xí)了React感覺(jué)組件通信這個(gè)地方知識(shí)點(diǎn)挺多的,而且很重要,所以,今天添加一點(diǎn)小筆記。 父子組件通訊 通訊手段 這是最常見(jiàn)的通信方式,父組件只需要將子組件需要的props傳給子組件,子組件直接通過(guò)this.props來(lái)使用。 通訊內(nèi)容 更多要提的是
        推薦度:
        • 熱門(mén)焦點(diǎn)

        最新推薦

        猜你喜歡

        熱門(mén)推薦

        專(zhuān)題
        Top
        主站蜘蛛池模板: 131美女爱做免费毛片| aaa毛片免费观看| 亚洲精品动漫免费二区| 亚洲欧美日韩综合久久久| 日韩毛片免费一二三| 西西人体免费视频| 2021免费日韩视频网| 又爽又高潮的BB视频免费看| 久久亚洲一区二区| 国产亚洲福利在线视频| 一区二区三区在线观看免费 | 久久亚洲AV无码精品色午夜麻| a级毛片免费观看在线| 日韩免费人妻AV无码专区蜜桃| 在线观看免费宅男视频| 亚洲色欲久久久久综合网| 久久亚洲日韩看片无码| 香蕉视频免费在线播放| 999久久久免费精品国产| 久久久久亚洲国产| 国产一区二区三区免费视频 | 可以免费观看的一级毛片| www免费黄色网| 亚洲av无码专区在线播放| 日本亚洲欧美色视频在线播放| 亚洲精品免费在线观看| 亚洲精品无码久久久| 亚洲成人在线免费观看| 免费av片在线观看网站| 亚洲无线一二三四区手机| 精品免费tv久久久久久久| 亚洲免费视频播放| 6080午夜一级毛片免费看| 亚洲欧美中文日韩视频| 国产亚洲精品拍拍拍拍拍| 青草青草视频2免费观看| 亚洲国产精品一区二区第一页 | 亚洲裸男gv网站| 亚洲一区二区三区免费在线观看 | 人人爽人人爽人人片av免费| 国产精品极品美女免费观看|