最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

React中父組件如何獲取子組件的值或方法

 更新時間:2022年08月11日 11:57:25   作者:qing_小諾  
這篇文章主要介紹了React中父組件如何獲取子組件的值或方法,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教

父組件獲取子組件的值或方法

先來說下從哪獲取的啟發(fā),想要從父組件獲取子組件的值或方法。。。

一次寫代碼的時候,用 Antd 中的 Modal 包裹了一個子組件,子組件中包含 input 輸入框,想要在點(diǎn)擊對話框上面確定按鈕時(即Modal 自帶的 onOk方法),拿到其中輸入的值

下面用一個父組件(Father.js)和子組件(Hearder.js)來演示如何能拿到值和方法:

方法一

給子組件添加屬性 ref='footer'

<Header ref='footer'></Header>

 然后在父組件用 this.refs.footer.xxx 的方式拿值

alert(this.refs.footer.state.sonmsg);//拿到子組件中state中的值
this.refs.footer.run();//拿到子組件中runn方法

方法二

給子組件添加 onRef={(ref) => { this.child = ref; }}

<Header onRef={(ref) => { this.child = ref; }}></Header>

然后在子組件中添加生命周期的 componentDidMount 這個方法:

componentDidMount() {
? ? ?if (this.props.onRef) {
? ? ? ? this.props.onRef(this);
? ? ?}
}

然后在父組件用 this.child.xxx 的方式拿值

alert(this.child.state.sonmsg);
this.child.run();

方法三

在父組件創(chuàng)建ref容器:this.pw = React.createRef()

constructor(props) {
? ? super(props);
? ? // 方法3:創(chuàng)建用來保存ref標(biāo)識的標(biāo)簽對象的容器
? ? this.pw = React.createRef()
}

然后給子組件添加屬性:ref={this.pw}

<Header ref={this.pw}></Header>

然后就可以在父組件用 this.pw.current 拿到子組件值和方法:

alert(this.pw.current.state.sonmsg);?
this.pw.current.run()

React函數(shù)式組件傳值之子傳父

在用react進(jìn)行函數(shù)式編程時,父組件可以通過props向子組件傳值,那么子組件怎么向父組件傳值呢?

首先,父組件需要向子組件傳遞一個函數(shù),然后,子組件通過props獲取函數(shù)并附上參數(shù),最后,父組件通過函數(shù)拿到子組件傳遞的值。

具體案例

父組件:home.tsx

import React, { useState } from 'react';
import Child from './component/child';
import './index.less';
 
const Home: React.FC = () => {
  const [parentCount, setParentCountt] = useState<number>(0);
 
  const getChildCount = (val: number) => {
    setParentCountt(val);
  };
 
  return (
    <div className="home-wrap">
      <p>我是父組件</p>
      <p>子組件傳過來的數(shù)字:{parentCount}</p>
      <Child getCount={getChildCount} />
    </div>
  );
};
 
export default Home;

子組件:child.tsx

import React, { useState } from 'react';
 
type selfProps = {
  getCount: Function;
};
 
const Child: React.FC<selfProps> = (props) => {
  const { getCount } = props;
  const [count, setCount] = useState<number>(0);
 
  const addCount = (val: number) => {
    setCount(val);
    getCount(val);
  };
 
  return (
    <div className="child-wrap">
      <p>子組件</p>
      <p>數(shù)字:{count}</p>
      <button onClick={() => addCount(count + 1)}>數(shù)字遞增</button>
    </div>
  );
};
 
export default Child;

效果展示

以上為個人經(jīng)驗(yàn),希望能給大家一個參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • React操作DOM之forwardRef問題

    React操作DOM之forwardRef問題

    這篇文章主要介紹了React操作DOM之forwardRef問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2023-03-03
  • webpack4+react多頁面架構(gòu)的實(shí)現(xiàn)

    webpack4+react多頁面架構(gòu)的實(shí)現(xiàn)

    webpack在單頁面打包上應(yīng)用廣泛,以create-react-app為首的腳手架眾多。這篇文章主要介紹了webpack4+react多頁面架構(gòu)的實(shí)現(xiàn),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-10-10
  • 簡析React Native startReactApplication 方法

    簡析React Native startReactApplication 方法

    這篇文章主要介紹了React Native startReactApplication 方法簡析,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2021-09-09
  • 解決React報錯Expected?`onClick`?listener?to?be?a?function

    解決React報錯Expected?`onClick`?listener?to?be?a?function

    這篇文章主要為大家介紹了React報錯Expected?`onClick`?listener?to?be?a?function解決,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-12-12
  • React組件實(shí)例三大屬性state props refs使用詳解

    React組件實(shí)例三大屬性state props refs使用詳解

    這篇文章主要為大家介紹了React組件實(shí)例三大屬性state props refs使用詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-09-09
  • React?18?如何更新?state?中的對象

    React?18?如何更新?state?中的對象

    state 中可以保存任意類型的JavaScript值,包括對象,但是,不應(yīng)該直接修改存放在 React state 中的對象,這篇文章主要介紹了React?18更新state中的對象,需要的朋友可以參考下
    2023-08-08
  • 詳解React中傳入組件的props改變時更新組件的幾種實(shí)現(xiàn)方法

    詳解React中傳入組件的props改變時更新組件的幾種實(shí)現(xiàn)方法

    這篇文章主要介紹了詳解React中傳入組件的props改變時更新組件的幾種實(shí)現(xiàn)方法,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-09-09
  • 一文教你如何避免React中常見的8個錯誤

    一文教你如何避免React中常見的8個錯誤

    這篇文章主要來和大家一起分享在?React?開發(fā)中常見的一些錯誤,以及如何避免這些錯誤,理解這些問題背后的細(xì)節(jié),防止犯下類似的錯誤,需要的可以參考下
    2023-12-12
  • 詳解React 和 Redux的關(guān)系

    詳解React 和 Redux的關(guān)系

    這篇文章主要為大家介紹了React 和 Redux的關(guān)系,具有一定的參考價值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來幫助
    2021-11-11
  • create-react-app安裝出錯問題解決方法

    create-react-app安裝出錯問題解決方法

    這篇文章主要介紹了create-react-app安裝出錯問題解決方法,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-09-09

最新評論

阿合奇县| 伽师县| 姜堰市| 买车| 容城县| 宜兰县| 左权县| 天津市| 克山县| 浑源县| 交城县| 贡嘎县| 揭阳市| 滁州市| 靖州| 深泽县| 潼南县| 德惠市| 临潭县| 广水市| 张北县| 增城市| 育儿| 宜州市| 沧州市| 桃源县| 台东县| 饶平县| 布尔津县| 龙南县| 台南市| 佳木斯市| 沿河| 郑州市| 宜宾县| 黎川县| 峡江县| 云安县| 安宁市| 且末县| 报价|