• react 父级调用子级方法


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

    父级代码:

    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);
  • 相关阅读:
    常见逻辑谬误
    4 WPF依赖属性
    11 WPF样式和行为
    17 WPF控件模板
    3 WPF布局
    4.6.3 The LRParsing Algorithm
    4.6 Introduction to LR Parsing: Simple LR
    19 WPF 数据绑定
    分布式系统部署、监控与进程管理的几重境界
    运维知识体系
  • 原文地址:https://www.cnblogs.com/konghaowei/p/13985209.html
Copyright © 2020-2023  润新知