React函数式组件环境中父组件调用子组件的方法

import React, { useRef, useCallback } from 'react';
// 子组件
const ChildComponent = React.forwardRef((props, ref) => {
const doSomething = useCallback(() => {
console.log('Do something in the child component');
}, []);
// 当组件挂载后,将这个组件的实例传递给父组件
React.useImperativeHandle(ref, () => ({
doSomething
}));
return <div>Child Component</div>;
});
// 父组件
const ParentComponent = () => {
const childRef = useRef(null);
const handleClick = () => {
if (childRef.current) {
childRef.current.doSomething();
}
};
return (
<>
<button onClick={handleClick}>Call Child Method</button>
<ChildComponent ref={childRef} />
</>
);
};
export default ParentComponent;

ChildComponent是一个函数式组件,它使用useImperativeHandle钩子来暴露一个doSomething方法。ParentComponent是父组件,它使用useRef钩子创建了一个ref并将其传递给ChildComponent。当按钮被点击时,父组件通过ref调用子组件的doSomething方法。

posted @   Felix_Openmind  阅读(1299)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· winform 绘制太阳,地球,月球 运作规律
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· AI 智能体引爆开源社区「GitHub 热点速览」
· 写一个简单的SQL生成工具
历史上的今天:
2023-06-13 AntDesign自定义校验表单
*{cursor: url(https://files-cdn.cnblogs.com/files/morango/fish-cursor.ico),auto;}
点击右上角即可分享
微信分享提示