欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

React組件間通訊傳值實(shí)現(xiàn)詳解

 更新時(shí)間:2022年11月30日 10:51:03   作者:未及545  
這篇文章主要介紹了React組件間通訊傳值,react組件的通信屬于開(kāi)發(fā)基礎(chǔ)知識(shí),今天來(lái)梳理一下,當(dāng)然rudex還按老規(guī)矩排除在外,如同上篇文章的hooks一樣,單獨(dú)梳理

組件的props:

1.組件是封閉的,要接收外部數(shù)據(jù)應(yīng)該通過(guò)props來(lái)實(shí)現(xiàn)。

2.props的作用,接收傳遞給組件的數(shù)據(jù)。

3.傳遞數(shù)據(jù):給組件標(biāo)簽添加屬性

4.接收數(shù)據(jù):函數(shù)組件通過(guò)參數(shù)props接收數(shù)據(jù),類(lèi)組件通過(guò)this.props接收數(shù)據(jù)。

特點(diǎn):

1.可以給組件傳遞任意類(lèi)型的數(shù)據(jù)。

2.props是只讀對(duì)象,只能讀取屬性的值,不能修改對(duì)象。

3.使用類(lèi)組件時(shí),如果寫(xiě)了構(gòu)造函數(shù),應(yīng)該將props傳遞給super(),否則無(wú)法在構(gòu)造函數(shù)中獲取props。

父->子傳值

import React, { Component } from 'react'
import ComSmall from './ComSmall'
export default class ComBig extends Component {
  constructor(){
    super()
    this.state={
      info:"天冷了要加衣"
    }
  }
  render() {
    return (
      <div>我是父組件
        {/* 注冊(cè)子組件 ,通過(guò)msg傳遞給子組件*/}
        <ComSmall msg={this.state.info}></ComSmall>
      </div>
    )
  }
}
import React, { Component } from 'react'
export default class ComSmall extends Component {
  constructor(props){
    // 此處不傳props
    super(props)
   this.state={ }
  //  console.log(this.props);此處打印的是undefined,傳遞后打印的是數(shù)據(jù)
  }
  render() {
    return (
      <div>我是子組件
        {/* 接收父組件傳值 */}
        {this.props.msg}
      </div>
    )
  }
}

子->父?jìng)髦?/p>

利用回調(diào)函數(shù),父組件提供回調(diào),子組件調(diào)用,將要傳遞的數(shù)據(jù)作為回調(diào)函數(shù)的參數(shù)。

import React, { Component } from 'react'
export default class ComSmall extends Component {
  constructor(){ 
    super()
   this.state={
    msg:"給你買(mǎi)了一部手機(jī)"
   }
  }
  sendMsg(){
    // 子組件調(diào)用父組件傳遞過(guò)來(lái)的回調(diào)函數(shù)
    this.props.getMsg(this.state.msg)
  }
  render() {
    return (
      <div>我是子組件
    <button onClick={()=>this.sendMsg()}>給父組件傳值</button>
      </div>
    )
  }
}
import React, { Component } from 'react'
import ComSmall from './ComSmall'
export default class ComBig extends Component {
  constructor(){
    super()
    this.state={
     data:""
    }
  }
getChindMsg=(val)=>{
// console.log("獲得子組件傳過(guò)來(lái)的值:",val);
this.setState({
  data:val
})
} 
  render() {
    return (
      <div>我是父組件
        <p>獲得子組件傳過(guò)來(lái)的值:{this.state.data}</p>
        {/* 將回調(diào)函數(shù)傳遞給子組件 */}
        <ComSmall getMsg={this.getChindMsg}></ComSmall>
      </div>
    )
  }
}

到此這篇關(guān)于React組件間通訊傳值實(shí)現(xiàn)詳解的文章就介紹到這了,更多相關(guān)React組件通訊傳值內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • React?Fiber構(gòu)建completeWork源碼解析

    React?Fiber構(gòu)建completeWork源碼解析

    這篇文章主要為大家介紹了React?Fiber構(gòu)建completeWork源碼解析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-02-02
  • 淺談React的React.FC與React.Component的使用

    淺談React的React.FC與React.Component的使用

    本文主要介紹了React的React.FC與React.Component的使用,文中通過(guò)示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2021-09-09
  • React中事件綁定this指向三種方法的實(shí)現(xiàn)

    React中事件綁定this指向三種方法的實(shí)現(xiàn)

    這篇文章主要介紹了React中事件綁定this指向三種方法的實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2021-05-05
  • React onClick/onChange傳參(bind綁定)問(wèn)題

    React onClick/onChange傳參(bind綁定)問(wèn)題

    這篇文章主要介紹了React onClick/onChange傳參(bind綁定)問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-02-02
  • react 項(xiàng)目 中使用 Dllplugin 打包優(yōu)化技巧

    react 項(xiàng)目 中使用 Dllplugin 打包優(yōu)化技巧

    在用 Webpack 打包的時(shí)候,對(duì)于一些不經(jīng)常更新的第三方庫(kù),比如 react,lodash,vue 我們希望能和自己的代碼分離開(kāi),這篇文章主要介紹了react 項(xiàng)目 中 使用 Dllplugin 打包優(yōu)化,需要的朋友可以參考下
    2023-01-01
  • 如何使用 React Router v6 在 React 中實(shí)現(xiàn)面包屑

    如何使用 React Router v6 在 React 中

    面包屑在網(wǎng)頁(yè)開(kāi)發(fā)中的角色不可忽視,它們?yōu)橛脩?hù)提供了一種跟蹤其在網(wǎng)頁(yè)中當(dāng)前位置的方法,并有助于網(wǎng)頁(yè)導(dǎo)航,本文介紹了如何使用react-router v6和bootstrap在react中實(shí)現(xiàn)面包屑,感興趣的朋友一起看看吧
    2024-09-09
  • 使用React實(shí)現(xiàn)一個(gè)簡(jiǎn)單的待辦事項(xiàng)列表的示例代碼

    使用React實(shí)現(xiàn)一個(gè)簡(jiǎn)單的待辦事項(xiàng)列表的示例代碼

    這篇文章我們將詳細(xì)講解如何建立一個(gè)這樣簡(jiǎn)單的列表,文章通過(guò)代碼示例介紹的非常詳細(xì),對(duì)我們的學(xué)習(xí)或工作有一定的幫助,需要的朋友可以參考下
    2023-08-08
  • React Native基礎(chǔ)入門(mén)之初步使用Flexbox布局

    React Native基礎(chǔ)入門(mén)之初步使用Flexbox布局

    React中引入了flexbox概念,flexbox是屬于web前端領(lǐng)域CSS的一種布局方案,下面這篇文章主要給大家介紹了關(guān)于React Native基礎(chǔ)入門(mén)之初步使用Flexbox布局的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2018-07-07
  • React深入分析更新的創(chuàng)建源碼

    React深入分析更新的創(chuàng)建源碼

    React組件分為函數(shù)組件與class組件;函數(shù)組件是無(wú)狀態(tài)組件,class稱(chēng)為類(lèi)組件;函數(shù)組件只有props,沒(méi)有自己的私有數(shù)據(jù)和生命周期函數(shù);class組件有自己私有數(shù)據(jù)(this.state)和生命周期函數(shù)
    2023-01-01
  • 基于React-Dropzone開(kāi)發(fā)上傳組件功能(實(shí)例演示)

    基于React-Dropzone開(kāi)發(fā)上傳組件功能(實(shí)例演示)

    這篇文章主要介紹了基于React-Dropzone開(kāi)發(fā)上傳組件,主要講述的是在React-Flask框架上開(kāi)發(fā)上傳組件的技巧,需要的朋友可以參考下
    2021-08-08

最新評(píng)論