欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 新闻 > 会展 > React基础之useInperativehandlle

React基础之useInperativehandlle

2025/3/10 16:24:55 来源:https://blog.csdn.net/m0_73035591/article/details/146087639  浏览:    关键词: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;

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

热搜词