父组件
import React, { useState, useRef } from 'react';
import { Table, Card, Button, } from 'antd';
import ChildComp from './child';
const FComp: React.FC<any> = (props) => {
let child = useRef();;
let [text,setText] = useState<string>("我是父组件");
function onChild(){
console.log("subMitData", child.current.childMethod());
let childName = child.current.childMethod();
setText(childName);
}
return (
<ChildComp onRef={child} />
<Button type='primary' onClick={onChild}>调用子组件</Button>
<h1>{text}<h1>
)
}
子组件
import React, { useImperativeHandle} from 'react';
const ChildComp: React.FC<any> = (props:{onRef}) => {
useImperativeHandle(onRef, () => ({
// onChild 就是暴露给父组件的方法
onChild: () => {
return {
childName:'我是子组件'
}
}
}));
return (
<div>我是子组件</div>
)
网友评论