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

React学习笔记20

一、React.forward

1.1、作用

通过ref暴露子组件的DOM

1.2、场景说明

 1.3、语法实现

// 子组件
const Input = forwardRef((props,ref)=>{
    return <input type="text" ref={ref} />
})

// 父组件
function father_component(){
    const inputRef=useRef(null)
    const focus=(ref)=>{
        ref.current.focus()
    }
    return(
        <>
            <Input ref={inputRef}></Input>
            <button onClick={()=>{focus(inputRef)}}></button>
        </>
    )
}

二、useInperativeHandle

1.1、作用

通过ref暴露子组件中的方法

1.2、场景说明

1.3、语法实现

// 子组件
const Input = forwardRef((props,ref)=>{
    // 实现聚焦逻辑
    const inputRef=useRef(null)
    const focus_input=()=>{
        inputRef.current.focus()
    }
    // 暴露聚焦方法
    useImperativeHandle(ref,()=>{
        return {
            focus_input
        }
    })
    return <input type="text" ref={inputRef} />
})

// 父组件
function father_component(){
    const sonRef=useRef(null)
    const focusHandle=(ref)=>{
        
    }
    return(
        <>
            <Input ref={sonRef}></Input>
            <button onClick={()=>sonRef.current.focus_input()}></button>
        </>
    )
}

 下一章:React学习笔记21:类组件

相关文章:

  • 【分布式】冰山(Iceberg)与哈迪(Hudi)对比的基准测试
  • 开发语言漫谈-groovy
  • 二分查找------练习1
  • 使用C++在Qt框架下调用DeepSeek的API接口实现自己的简易桌面小助手
  • mysql5.7及mysql8的一些特性
  • 人工智能(AI)系统化学习路线
  • 在 ASP .NET Core 9.0 中使用 Scalar 创建漂亮的 API 文档
  • 干货!三步搞定 DeepSeek 接入 Siri
  • 给语言模型增加知识逻辑校验智能,识别网络信息增量的垃圾模式
  • 对立统一规律揭示的核心内容
  • AI-Talk开发板之更换串口引脚
  • 算法题(104):数的划分
  • Vue.js 应用的入口文件
  • STM32F103C8T6 -MINI核心板
  • C# SolidWorks 二次开发 -各种菜单命令增加方式
  • 建筑安全员考试:“知识拓展” 关键词驱动的深度备考攻略
  • 物理环境与安全
  • 说说Vue 3.0中Treeshaking特性?举例说明一下?
  • 多线程synchronized——线程“八锁”
  • 数据通信学习笔记之OSPF其他内容1
  • 耿军强任陕西延安市领导,此前任陕西省公安厅机场公安局局长
  • 海航回应“男团粉丝为追星堵住机舱通道”:已紧急阻止
  • 墨西哥宣布就“墨西哥湾”更名一事起诉谷歌
  • 方正证券总裁何亚刚到龄退休,54岁副总裁姜志军接棒
  • 数理+AI+工程,上海交大将开首届“笛卡尔班”招生约20名
  • 经济日报整版聚焦“妈妈岗”:就业路越走越宽,有温度重实效