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

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;


http://www.kler.cn/a/578978.html

相关文章:

  • Docker基础之基础概念
  • 【Git】合并冲突
  • python中采用opencv作常规的图片处理的方法~~~
  • QT JSON数据格式
  • unity console日志双击响应事件扩展
  • SQL 简介
  • 【基础5】归并排序
  • SQL SELECT DISTINCT 语句
  • Python3 与 VSCode:深度对比分析
  • 【Git】linux搭建Gitea配置mysql数据库
  • android edittext 防止输入多个小数点或负号
  • 【Elasticsearch入门到落地】9、hotel数据结构分析
  • LeetCode 2523. Closest Prime Numbers in Range(2025/3/7每日一题)
  • 中小企业Windows双因素认证的“轻量化”安全解决方案
  • 探索数据仓库自动化:ETL流程设计与实践
  • qt 播放pcm音频
  • 【模板】树算法之LCA(最近公共祖先)
  • Shell编程概述与Shell变量
  • 物联网中设备异构的问题-甚至可以用工业数据采集器?
  • C++之序列容器(vector,list,dueqe)