当前位置: 首页 > 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.lryc.cn/news/265188.html

相关文章:

  • Linux——缓冲区
  • Mac 生成Android签名证书 .keystore文件
  • 电商数仓项目----笔记六(数仓ODS层)
  • rtsp视频在使用unity三维融合播放后的修正
  • 【已解决】解决Springboot项目访问本地图片等静态资源无法访问的问题
  • 运维笔记之centos部署Go-FastDfs
  • C#基础——线程(线程池、线程锁、线程抢占、多线程)
  • C# WPF上位机开发(QT vs WPF)
  • 2-高可用-负载均衡、反向代理
  • STM32 使用ARM仿真器设置
  • 【Java】spring
  • C语言中关于操作符的理解
  • Flutter本地化(国际化)之App名称
  • Redis哨兵源码分析
  • 安装Neo4j
  • 华为鸿蒙开发适合哪些人学习?
  • 深信服技术认证“SCSA-S”划重点:命令执行漏洞
  • Flink系列之:Savepoints
  • 使用宝塔面板部署前端项目到服务器
  • Enge问题解决教程
  • 使用yarn安装electron时手动选择版本
  • AIGC:阿里开源大模型通义千问部署与实战
  • Java小案例-Java实现人事管理系统
  • Win系统修改Nginx配置结合内网穿透实现远程访问多个Web站点
  • 如何使用 NFTScan NFT API 在 Base 网络上开发 Web3 应用
  • 【Chrome】ERR_SSL_PROTOCOL_ERROR问题
  • Codeforces Round 916 (Div. 3)(E:贪心 F贪心dfs G tarjan+topsort +线段树优化建图)
  • eNSP错误40,原因三:windows10自带虚拟化软件Hyper-V
  • Maven将Jar包打入本地仓库
  • 如何使用 Helm 在 K8s 上集成 Prometheus 和 Grafana|Part 1