当前位置: 首页 > news >正文

React基础之useInperativehandlle

通过ref调用子组件内部的focus方法来实现聚焦

与forwardRef类似,但是forwardRef是通过暴露整个Ref来实现,而useInperativehandle是通过对外暴露一个方法来实现的

import { forwardRef, useImperativeHandle, useRef, useState } from "react";

const Son=forwardRef((props,ref)=>{

  //实现聚焦逻辑

  const inputRef=useRef(null)

  const focushandleer=()=>{

    inputRef.current.focus()

  }

  //聚焦方法暴露出去

  useImperativeHandle(ref,()=>{

    return {

      //暴露的方法

      focushandleer

    }

  })

  return <input type="text" ref={inputRef}></input>

})

function App() {

  //传给子组件的函数

  const sonRef=useRef(null)

  const showRef=()=>{

    console.log(sonRef.current);

    sonRef.current.focushandleer()

  }

  return (

    <div className="App">

        <Son ref={sonRef}/>

        <button onClick={showRef}>focus</button>

    </div>

  );

}

export default App;

相关文章:

  • 【前端】【vue-i8n】【element】Element 框架国际化配置指南:从 element-ui 到 element-plus
  • 运行OpenManus项目(使用Conda)
  • 国家二级运动员证书有什么用·棒球1号位
  • QP 问题(Quadratic Programming, 二次规划)
  • QEMU源码全解析 —— 块设备虚拟化(2)
  • Scade 状态机 - 同步迁移
  • Maven安装和配置详细教程
  • 第十五届蓝桥杯省赛电子类单片机学习过程记录(客观题)
  • 游戏引擎学习第145天
  • 基于昇腾MindIE与GPUStack的大模型容器化部署从入门到入土
  • GPU编程实战指南01:CUDA编程极简手册
  • 以太网口的协议与电路波形
  • Python SQLite3 保姆级教程:从零开始学数据库操作
  • 进制的理解与转换
  • Visual-RFT视觉强化微调:用「试错学习」教会AI看图说话
  • 中性点不接地系统单相接地故障Matlab仿真
  • 工程化与框架系列(25)--低代码平台开发
  • 开放充电点协议(OCPP)技术解析:架构演进与通信机制 - 慧知开源充电桩平台
  • upload-labs文件上传
  • JavaWeb学习——HTTP协议
  • 怎么学习网站开发/微信营销成功案例8个
  • 网站推广方法有/网络营销课程主要讲什么内容
  • 如果网站已被入侵/关键字优化用什么系统
  • 网站后台上传文件管理0kb/产品推广方案怎么做
  • 世界上做的最后的网站/专业seo培训
  • wordpress 全站不刷新/百度认证证书