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

相关推荐
bot5556668 小时前
“企业微信iPad协议”静默 72 小时:一台被遗忘的测试机如何成为私域的逃生梯
javascript·面试
西洼工作室9 小时前
浏览器事件循环与内存管理可视化
前端·javascript·css·css3
xier1234569 小时前
高性能和高灵活度的react表格组件
前端
曦曜2929 小时前
富文本编辑器
javascript
你打不到我呢9 小时前
nestjs入门:上手数据库与prisma
前端
多啦C梦a9 小时前
React 实战:从 setInterval 到 useInterval,一次搞懂定时器 Hook(还能暂停!)
前端·javascript·react.js
闲不住的李先森9 小时前
乐观更新
前端·react.js·设计模式
笔尖的记忆9 小时前
【前端架构和框架】react组件化&数据流
前端·面试
zhangzelin8889 小时前
TypeScript入门指南:JavaScript的类型化超集
前端·javascript·其他·typescript
lichenyang4539 小时前
流式聊天界面实现解析:从零到一构建实时对话体验
前端