重温react-10(函数组件和类组件的ref获取方式)

App.js的代码

06是函数组件

07是类组件

javascript 复制代码
import React, { useEffect, useRef } from 'react';
import LearnFunction06 from './LearnFunction06'; //  函数组件和类组件的ref使用方式
import LearnFunction07 from './LearnFunction07'; //  函数组件和类组件的ref使用方式
export default function BoxReact() {

  const learnRef = useRef(null)
  const classRef = useRef(null)
  useEffect(() => {
    console.log(learnRef.current);
    console.log(classRef.current);
  }, [])
  return (
    <div>
      <LearnFunction06 ref={learnRef}></LearnFunction06>
      <LearnFunction07 ref={classRef}></LearnFunction07>
    </div>
  )
}

06的代码

javascript 复制代码
import React, { forwardRef } from 'react'

export default forwardRef(function LearnFunction06(props, ref) {
    return (
        <div ref={ref}> LearnFunction06</div>
    )
})

正常函数组件是没有ref的,需要通过forwardRef来修饰组件才能产生ref

07的代码

javascript 复制代码
import React, { Component } from 'react'

export default class LearnFunction07 extends Component {
  render() {
    return (
      <div>LearnFunction07</div>
    )
  }
}

效果图

这样都可以拿到ref啦

相关推荐
kingwebo'sZone5 分钟前
C#事件声明办法
java·前端·c#
战场小包13 分钟前
世界杯结束了,我用 AI 造了平行宇宙,这次结局你写
前端·人工智能·ai编程
方方洛20 分钟前
AI 教程系列-TUI 应用开发教程03-TUI 框架与技术选型
前端·javascript·ui kit
lymboy30 分钟前
Spring AI的工具调用循环,本质就是ReAct:一次源码级拆解
人工智能·spring·react.js
可触的未来,发芽的智生36 分钟前
发现-元认知技能,激起神经符号系统跃变
javascript·人工智能·python·程序人生·自然语言处理
第二个人36 分钟前
Python Web开发:从Flask到FastAPI,我经历了什么
前端·python·flask
你怎么知道我是队长42 分钟前
JavaScript的自适应效果
开发语言·javascript·ecmascript
其实防守也摸鱼1 小时前
前端应用的离线暂停更新策略:构建稳定可靠的渐进式部署方案
服务器·前端·数据库·学习·ai·命令行·linux系统
太平洋月光1 小时前
Antv G2中自定义技巧📊
前端·数据可视化
高铭杰1 小时前
万物皆可KV(1)TIDB存储布局分析
java·前端·tidb