[react+ts] useRef获取自界说组件dom或方法声明

[复制链接]
发表于 2025-11-16 05:58:49 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

×
想用useRef获取自界说组件?
假如获取dom,直接写
  1.   const sonRef = useRef<HTMLDivElement>(null);
复制代码
然后子组件用forwardRef包一层,注意是HTMLDivElement,别写错, 写HTMLElement不可
  1. const Son = forwardRef<HTMLDivElement, IProps>((props, ref) => {})
复制代码
牢记这时Son不能写Son:React.FC了,否则报错

这时间可以打印dom了




那怎么拿子组件的方法呢? 先把 forwardRef第一个参数改为ref的范例

界说袒露的函数
  1.   const handleClick = () => {
  2.     setNum(8999);
  3.   };
  4.   useImperativeHandle(ref, () => {
  5.     return {
  6.       handleClick,
  7.     };
  8.   });
复制代码
父组件也要改一下

这时间点一下就出来了

我直接打印sonRef.current试试

ok
回复

使用道具 举报

登录后关闭弹窗

登录参与点评抽奖  加入IT实名职场社区
去登录
快速回复 返回顶部 返回列表