当前位置: 首页 > news >正文

react v-18父组件调用子组件的方法和数据

版本

"react": "^18.1.0",
"react-dom": "^18.1.0",

父组件

import React, { useState, useRef, memo, useEffect } from "react";
import { useTranslation } from "react-i18next";
import { Card } from "antd";

import Childdren from './child/child';
function Dashboard() {
  let childRef:any = useRef(null);
  const handleClick = () => {
     console.log('子组件:', childRef.current)  //打印:{num: 999, add: ƒ}
    childRef.current.add() //调用
  }
  return (
        <Card style={{ minHeight: "calc(100vh - 64px)" }}>
            <Childdren ref={childRef} title={'我是父组件的数据'} num={123} fun={() => alert('传递了一个函数')} />
            
            <button onClick={handleClick}>父组件调子组件方法</button>
        </Card>
  );
}

export default Dashboard;

子组件 (通过useImperativeHandle() 抛出)

// props (类组件则使用this.props)
import React, { useImperativeHandle } from "react";
const Childdren = React.forwardRef((props:any, ref) => {
  useImperativeHandle(
    ref,
    () => ({ add,num }) //父组件通过ref获取值,要在这里抛出
  );
  const num = 999;
  const add = () => {
    console.log('我是子组件方法')
  };
  return (
    <div>
      <h1>父传子:{props.title}</h1>
      <button >这是子组件</button>
      
    </div>
  );
});
export default Childdren;

http://www.dtcms.com/a/5616.html

相关文章:

  • 11种方法判断​软件的安全可靠性​
  • CentOS 7 Tomcat服务的安装
  • 关于“Python”的核心知识点整理大全31
  • 55.0/CSS 的应用(详细版)
  • [Unity]接入Firebase 并且关联支付埋点
  • R语言【cli】——cli_warn可以更便捷的在控制台输出警告信息
  • 数据管理平台Splunk Enterprise本地部署结合内网穿透实现远程访问
  • IDEA版SSM入门到实战(Maven+MyBatis+Spring+SpringMVC) -Spring的AOP前奏
  • 图像处理—小波变换
  • Apache Pulsar 技术系列 - PulsarClient 实现解析
  • 【Spring实战】配置单数据源
  • ICC2:Less than minimum edge length和Concave convex edge enclosure
  • Backend - Django 项目创建 运行
  • 基于查表法的水流量算法设计与实现
  • 漫谈UNIX、Linux、UNIX-Like
  • 2024年第二届“华数杯”国际大学生数学建模竞赛思路及代码
  • 神经网络可以计算任何函数的可视化证明
  • SearchWP WordPress高级网站内容搜索插件
  • 【Redis】五、Redis持久化、RDB和AOF
  • 卷积神经网络的学习与实现
  • 《论文阅读28》Unsupervised 3D Shape Completion through GAN Inversion
  • 机器学习笔记:支持向量机回归SVR
  • JavaSE学习笔记 Day23
  • 【数据结构】并查集的简单实现,合并,查找(C++)
  • 力扣:203. 移除链表元素(Python3)
  • 百度侯震宇:AI原生与大模型将从三个层面重构云计算
  • 关于with torch.no_grad:的一些小问题
  • Mac 上配置Java环境变量
  • 力扣题目学习笔记(OC + Swift)16. 最接近的三数之和
  • Elasticsearch 性能调优基础知识