react函数式组件:父组件调用子组件方法
父组件向子组件传入ref
import { useRef } from 'react';
import ChildrenModal from './ChildrenModal';
const parent = () => {
const childrenRef = useRef(null);
return (
<>
<ChildrenModal ref={childrenRef} />
</>
);
};
export default parent;
子组件为ref绑定方法
import { Modal } from 'antd';
import { useState, useImperativeHandle, forwardRef } from 'react';
export default forwardRef((props, ref) => {
const [isModalVisible, setIsModalVisible] = useState(false);
const showModal = () => {
setIsModalVisible(true);
};
useImperativeHandle(ref, () => ({
showModal,
}));
return (
<Modal
title="Basic Modal"
visible={isModalVisible}
onCancel={() => {
setIsModalVisible(false);
}}
>
<p>Some contents...</p>
</Modal>
);
});
父组件调用ref上的方法
import { useRef } from 'react';
import { Button } from 'antd';
import ChildrenModal from './ChildrenModal';
const parent = () => {
const childrenRef = useRef(null);
return (
<>
<Button
type="link"
onClick={() => {
childrenRef.current.showModal();
}}
>
点击显示modal
</Button>
<ChildrenModal ref={childrenRef} />
</>
);
};
export default parent;
标签:
react
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 零经验选手,Compose 一天开发一款小游戏!
· 一起来玩mcp_server_sqlite,让AI帮你做增删改查!!