重温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啦

相关推荐
Doris8933 分钟前
【 Vue】 Vue3全面讲解文档
前端·javascript·vue.js
换日线°3 分钟前
vue 实现Element Plus的炫酷主题切换
javascript·vue.js
linweidong10 分钟前
大厂工程化实践:如何构建可运维、高稳定性的 Flutter 混合体系
javascript·flutter
Hexene...14 分钟前
【前端Vue】如何快速直观地查看引入的前端依赖?名称版本、仓库地址、开源协议、作者、依赖介绍、关系树...(Node Modules Inspector)
前端·javascript·vue.js
fanruitian15 分钟前
div水平垂直居中
前端·javascript·html
旭久18 分钟前
react+antd实现一个支持多种类型及可新增编辑搜索的下拉框
前端·javascript·react.js
摘星编程18 分钟前
用React Native开发OpenHarmony应用:Loading加载状态组件
javascript·react native·react.js
aesthetician28 分钟前
Spotify 网页版前端技术全面解析
前端
咩图29 分钟前
Sketchup软件二次开发+Ruby+VisualStudioCode
java·前端·ruby
Можно42 分钟前
从零开始:Vue 框架安装全指南
前端·javascript·vue.js