父组件:
import React, { useRef } from "react";
import ChildComponent from "...";
export default function FatherComponent() {
const childRef = useRef(null);
const getValue = () => {
// 调用子组件获取value的function
const value = childRef.current.childGetValueFunction();
console.log('value', value);
}
return (
<>
<ChildComponent ref={childRef}/>
<button onClick={getValue}>获取子组件的value</button>
</>
);
}
子组件:
import React, { forwardRef, useImperativeHandle } from "react";
function ChildComponent(props, ref) {
const getValueFunc = () => {
// 获取value值
const value = '123';
return value;
}
useImperativeHandle(ref, () => ({
childGetValueFunction: () => getValueFunc,
}),[/*Dependency items*/]);
return (
<div>Child Component</div>
)
}
export default forwardRef(ChildComponent);
本文介绍了如何在React中使用useRef和useImperativeHandle实现父组件与子组件之间的值传递,通过forwardRef将子组件暴露给父组件,以便调用特定方法获取子组件的值。
1188

被折叠的 条评论
为什么被折叠?



