react hook 父组件获取子组件的值或方法

5,068 阅读1分钟

使用: useImperativeHandle, useRef

  1. 子组件:useImperativeHandle `import { useImperativeHandle } from 'react'; useImperativeHandle(props.cRef, () => ({ getTeams: () => teams, }));

`

import { useImperativeHandle } from 'react';
useImperativeHandle(props.cRef, () => ({
  getTeams: () => teams, // 暴露组件内部数据teams给父组件
  setTeams: () => { // 暴露给父组件的方法
      setTeams([])
  }
}));
  1. 父组件: useRef
import { useRef } from 'react';
const teamRef = useRef();
const teams = teamRef.current.getTeams(); // 获取子组件数据
<Teams id={currentId} teams={teams} cRef={teamRef} />