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;

相关推荐

  1. react v-18组件调用组件方法数据

    2023-12-23 05:48:02       45 阅读
  2. react组件调用组件方法

    2023-12-23 05:48:02       21 阅读
  3. 组件调用组件方法

    2023-12-23 05:48:02       42 阅读
  4. React中如何实现组件调用组件方法

    2023-12-23 05:48:02       13 阅读
  5. flutter 组件调用组件方法

    2023-12-23 05:48:02       16 阅读
  6. vue组件调用组件方法

    2023-12-23 05:48:02       33 阅读
  7. Vue.js 中组件调用组件方法

    2023-12-23 05:48:02       33 阅读

最近更新

  1. TCP协议是安全的吗?

    2023-12-23 05:48:02       16 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2023-12-23 05:48:02       16 阅读
  3. 【Python教程】压缩PDF文件大小

    2023-12-23 05:48:02       15 阅读
  4. 通过文章id递归查询所有评论(xml)

    2023-12-23 05:48:02       18 阅读

热门阅读

  1. Quartz.net 正则表达式触发器

    2023-12-23 05:48:02       47 阅读
  2. 状态码403什么时候会遇到?怎么解决?

    2023-12-23 05:48:02       43 阅读
  3. 分糖果(周赛)

    2023-12-23 05:48:02       47 阅读
  4. 如何在Node.js中使用Redis实现一个游戏排行榜?

    2023-12-23 05:48:02       41 阅读
  5. ES6 语法精粹简读

    2023-12-23 05:48:02       33 阅读
  6. 【Vue】动态合并行

    2023-12-23 05:48:02       42 阅读