首页 > 其他 > 详细

react 父级调用子级方法

时间:2020-11-16 16:01:29      阅读:57      评论:0      收藏:0      [点我收藏+]

忙里偷闲,先记下来写个大概,反正就是把代码复制跑一遍就知道怎么用了

技术分享图片

 

父级代码:

import React, { useRef } from ‘react‘;
import HelloWorld2 from ‘@/components/HelloWorld/HelloWorld2‘;
const Test2 =(props)=> {
  const test1 = () => {
    console.log("父组件准备调用子组件方法");
    userQqq.current.getName();
  };
    const userQqq = useRef(); // 命名最好还是user开头
    return (
    <div>
      <button onClick={test1}>调用子组件方法getName</button>
            <HelloWorld2 ref={userQqq}/>
    </div>
  )
}
export default Test2;

 

子级代码:

import React, { forwardRef, useImperativeHandle } from ‘react‘;
// 子组件不再使用react的React方式来创建,
// 直接通过函数的方式创建,函数子组件接收两个参数,
// 第一个参数是父组件传过来的其它参数,第二个参数是ref
const HelloWorld2 = (props, ref) => {
  const getName = () => {
    console.log("子组件方法");
  };
  // react规定必须使用useImperativeHandle方法,
  // 来保存并抛出想要传递给父组件的方法或者数据,
  // 第一个参数是ref,第二个参数是函数,返回想要抛出的对象集合
  useImperativeHandle(ref, () => ({
    getName,
  }));
  return (
    <div>子组件</div>
  );
};
//必须通过forwardRef方法抛出函数组件
export default forwardRef(HelloWorld2);

 

react 父级调用子级方法

原文:https://www.cnblogs.com/konghaowei/p/13985209.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!