当前位置: 首页 > 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:类组件

http://www.dtcms.com/a/84651.html

相关文章:

  • 【分布式】冰山(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
  • 精益架构设计:深入理解与实践 C# 中的单一职责原则
  • 单播、广播、组播和任播
  • 浔川社团官方联合会维权成功
  • 单一职责原则开闭原则其他开发原则
  • 【HarmonyOS Next之旅】DevEco Studio使用指南(五) -> 添加/删除Module
  • MySql创建分区表并且按月分区
  • 数据库:一文掌握 Elasticsearch 的各种指令(Elasticsearch指令备忘)
  • 用户态内核态切换
  • 什么?获取到了未知的复位原因?
  • SOFABoot-07-版本查看