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

react父组件往孙子组件传值Context API

步骤:
创建一个 Context
在父组件中用 Provider 提供值
在孙子组件中用 useContext 消费值

// 创建 Context
const MyContext = React.createContext();// 父组件
const Parent = () => {const value = "Hello from parent";return (<MyContext.Provider value={value}><Child /></MyContext.Provider>);
};// 子组件(无需关心 value)
const Child = () => {return <GrandChild />;
};// 孙子组件
const GrandChild = () => {const value = React.useContext(MyContext);return <div>{value}</div>;
};

React.forwardRef + useImperativeHandle 实现子组件暴露方法

const ChildComponent = forwardRef((props, ref) => {const [inputValue, setInputValue] = useState('');useImperativeHandle(ref, () => ({clearInput: () => setInputValue(''),}));return <input value={inputValue} onChange={(e) => setInputValue(e.target.value)} />;
});

父组件调用:

const childRef = useRef();
<ChildComponent ref={childRef} />
<button onClick={() => childRef.current?.clearInput()}>Clear</button>```

相关文章:

react父组件往孙子组件传值Context API

步骤&#xff1a; 创建一个 Context 在父组件中用 Provider 提供值 在孙子组件中用 useContext 消费值 // 创建 Context const MyContext React.createContext();// 父组件 const Parent () > {const value "Hello from parent";return (<MyContext.Provid…...

2025年第十六届蓝桥杯大赛软件赛C/C++大学B组题解

第十六届蓝桥杯大赛软件赛C/C大学B组题解 试题A: 移动距离 问题描述 小明初始在二维平面的原点&#xff0c;他想前往坐标(233,666)。在移动过程中&#xff0c;他只能采用以下两种移动方式&#xff0c;并且这两种移动方式可以交替、不限次数地使用&#xff1a; 水平向右移动…...

国联股份卫多多与七腾机器人签署战略合作协议

5月13日&#xff0c;七腾机器人有限公司&#xff08;以下简称“七腾机器人”&#xff09;市场部总经理孙永刚、销售经理吕娟一行到访国联股份卫多多&#xff0c;同卫多多/纸多多副总裁、产发部总经理段任飞&#xff0c;卫多多机器人产业链总经理郭碧波展开深入交流&#xff0c;…...

python学习笔记七(文件)

文章目录 Python 文件操作与异常处理全面指南一、文件基本知识1. 文件类型2. 文件操作基本步骤 二、文件操作1. 打开文件2. 读取文件内容3. 写入文件4. 关闭文件5. 使用with语句&#xff08;推荐&#xff09; 三、CSV文件操作1. 使用csv模块2. 读取CSV文件3. 写入CSV文件 四、异…...

WebGL 开发的前沿探索:开启 3D 网页的新时代

你是否曾好奇&#xff0c;为何如今网页上能呈现出如同游戏般逼真的 3D 场景&#xff1f;这一切都要归功于 WebGL。它看似神秘&#xff0c;却悄然改变着我们浏览网页的体验。以往&#xff0c;网页内容大多局限于二维平面&#xff0c;可 WebGL 打破了这一限制。它究竟凭借什么&am…...

高防服务器部署实战:从IP隐匿到协议混淆

1. IP隐匿方案设计 传统高防服务器常因源站IP暴露遭针对性攻击&#xff0c;群联通过三层架构实现深度隐藏&#xff1a; 流量入口层&#xff1a;域名解析至动态CNAME节点&#xff08;如ai-protect.example.com&#xff09;。智能调度层&#xff1a;AI模型分配清洗节点&#xf…...

激光雷达定位算法在FPGA中的实现——section3 Matlab实现和校验

1、校验section2的计算方法是否正确 以section1里面的图示 举个例子: 1.1 手动计算...

AI+可视化:数据呈现的未来形态

当AI生成的图表开始自动“美化”数据&#xff0c;当动态可视化报告能像人类一样“讲故事”&#xff0c;当你的眼球运动直接决定数据呈现方式——数据可视化的未来形态&#xff0c;正在撕裂传统认知。某车企用AI生成的3D可视化方案&#xff0c;让设计师集体失业&#xff1b;某医…...

[免费]微信小程序医院预约挂号管理系统(uni-app+SpringBoot后端+Vue管理端)【论文+源码+SQL脚本】

大家好&#xff0c;我是java1234_小锋老师&#xff0c;看到一个不错的微信小程序医院预约挂号管理系统(uni-appSpringBoot后端Vue管理端)&#xff0c;分享下哈。 项目视频演示 【免费】微信小程序医院预约挂号管理系统(uni-appSpringBoot后端Vue管理端) Java毕业设计_哔哩哔哩…...

【网络入侵检测】基于源码分析Suricata的IP分片重组

【作者主页】只道当时是寻常 【专栏介绍】Suricata入侵检测。专注网络、主机安全&#xff0c;欢迎关注与评论。 目录 目录 1.概要 2. 配置信息 2.1 名词介绍 2.2 defrag 配置 3. 代码实现 3.1 配置解析 3.1.1 defrag配置 3.1.2 主机系统策略 3.2 分片重组模块 3.2.1…...

Spring框架请求注解

Spring框架请求注解 1.RequestParam 作用&#xff1a;从请求的 查询参数&#xff08;Query Parameters&#xff09; 或 表单数据&#xff08;Form Data&#xff09; 中提取参数。适用场景&#xff1a; GET 请求的 URL 参数&#xff08;如 /users?nameTom&age20&#xff…...

LVGL简易计算器实战

文章目录 &#x1f4c1; 文件结构建议&#x1f539; eval.h 表达式求值头文件&#x1f539; eval.c 表达式求值实现文件&#xff08;带详细注释&#xff09;&#x1f539; ui.h 界面头文件&#x1f539; ui.c 界面实现文件&#x1f539; main.c 主函数入口✅ 总结 项目效果&…...

【FMMT】基于模糊多模态变压器模型的个性化情感分析

遇到很难的文献看不懂,不应该感到气馁,应该激动,因为外审估计也看不太懂,那么学明白了可以吓唬他 缺陷一:输入依赖性与上下文建模不足​​ ​​缺陷描述​​: 传统自注意力机制缺乏因果关系,难以捕捉序列历史背景多模态数据间的复杂依赖关系未被充分建模CNN/RNN类模型在…...

聊一聊接口测试依赖第三方服务变更时如何处理?

目录 一、依赖隔离与模拟 二、契约测试 三、版本控制与兼容性 四、变更监控与告警 五、容错设计 六、自动化测试维护 七、协作机制与文档自动化 第三方API突然改了参数或者返回结构&#xff0c;导致我们的测试用例失败&#xff0c;这时候该怎么办呢&#xff1f;首先想到…...

代码随想录算法训练营第60期第三十四天打卡

大家好&#xff0c;我们今天的内容依旧是贪心算法&#xff0c;我们上次的题目主要是围绕多维问题&#xff0c;那种时候我们需要分开讨论&#xff0c;不要一起并发进行很容易顾此失彼&#xff0c;那么我们今天的问题主要是重叠区间问题&#xff0c;又是一种全新的贪心算法思想&a…...

Midscene.js Chrome 插件实战:基于 AI 驱动 WEB UI 自动化测试「喂饭教程」

Midscene.js Chrome 插件实战:基于 AI 驱动 WEB UI 自动化测试「喂饭教程」 前言一、Midscene.js 简介二、环境准备与插件安装1. 安装 Chrome 插件2. 配置模型与 API Key三、插件界面与功能总览四、实战演练:用自然语言驱动网页自动化1. 典型场景一(Action):账号登录步骤一…...

JVM——方法内联之去虚化

引入 在Java虚拟机的即时编译体系中&#xff0c;方法内联是提升性能的核心手段&#xff0c;但面对虚方法调用&#xff08;invokevirtual/invokeinterface&#xff09;时&#xff0c;即时编译器无法直接内联&#xff0c;必须先进行去虚化&#xff08;Devirtualization&#xff…...

Objective-C Block 底层原理深度解析

Objective-C Block 底层原理深度解析 1. Block 是什么&#xff1f; 1.1 Block 的本质 Block 是 Objective-C 中的特殊对象&#xff0c;实现了匿名函数的功能 通过 isa 指针继承自 NSObject&#xff0c;可以响应&#xff08;如 copy、retain、release&#xff09;等内存管理方…...

关于IDE的相关知识之二【插件推荐】

成长路上不孤单&#x1f60a;&#x1f60a;&#x1f60a;&#x1f60a;&#x1f60a;&#x1f60a; 【14后&#x1f60a;///计算机爱好者&#x1f60a;///持续分享所学&#x1f60a;///如有需要欢迎收藏转发///&#x1f60a;】 今日分享关于ide插件推荐的相关内容&#xff01…...

Python+Streamlit实现登录页

PythonStreamlit实现登录页 Streamlit 是一个开源的 Python 库&#xff0c;专为数据科学家和机器学习工程师设计&#xff0c;用于快速构建交互式 Web 应用。 其核心功能与特点包括&#xff1a; 1.快速原型开发 2.交互式数据展示 3.极简开发 4.实时更新 5.内置组件 6.无前端依赖…...

RDD案例数据清洗

在 Spark 中&#xff0c;RDD&#xff08;Resilient Distributed Dataset&#xff09;是分布式数据集的基本抽象。数据清洗是数据预处理中的一个重要步骤&#xff0c;通常包括去除重复数据、过滤无效数据、转换数据格式等操作。以下是一个使用 RDD 进行数据清洗的完整示例。 示…...

按键精灵ios脚本新增元素功能助力辅助工具开发(三)

元素节点功能&#xff08;iOSElement&#xff09;​ 在按键精灵 iOS 新版 APP v2.2.0 中&#xff0c;新增了元素节点功能 iOSElement&#xff0c;该功能包含共 15 个函数。这一功能的出现&#xff0c;为开发者在处理 iOS 应用界面元素时提供了更为精准和高效的方式。通过这些函…...

Axure RP9:列表新增

文章目录 列表新增思路新增按钮操作说明保存新增交互设置列表新增 思路 利用中继器新增行实现列表新增功能 新增按钮操作说明 工具栏中添加新增图标及标签,在图标标签基础上添加热区;对热区添加鼠标单击时交互事件,同步插入如下动作:显示/隐藏动作,设置目标元件为新增窗…...

06 mysql之DML

一、什么是DML DML 用于操作数据库中的数据。主要命令包括&#xff1a; INSERT&#xff1a;添加数据SELECT&#xff1a;查询数据UPDATE&#xff1a;修改数据DELETE&#xff1a;删除数据 二、插入数据&#xff08;INSERT&#xff09; 2.1 插入单条记录 -- 插入学生记录&…...

游戏引擎学习第277天:稀疏实体系统

回顾并为今天定下基调 上次我们结束的时候&#xff0c;基本上已经控制住了跳跃的部分&#xff0c;达到了我想要的效果&#xff0c;现在我们主要是在等待一些新的艺术资源。因此&#xff0c;等新艺术资源到位后&#xff0c;我们可能会重新处理跳跃的部分&#xff0c;因为现在的…...

【最新版】likeshop连锁点餐系统-PHP版+uniapp前端全开源

一.系统介绍 likeshop外卖点餐系统适用于茶饮类的外卖点餐场景&#xff0c;搭建自己的一点点、奈雪、喜茶点餐系统。 系统基于总部多门店的连锁模式&#xff0c;拥有门店独立管理后台&#xff0c;支持总部定价和门店定价LBS定位点餐&#xff0c;可堂食可外卖。无论运营还是二开…...

机器学习之决策树模型:从基础概念到条件类型详解

机器学习之决策树模型&#xff1a;从基础概念到条件类型详解 摘要&#xff1a;本文深入探讨决策树模型的概念、构成以及不同条件类型。首先介绍决策树的基本结构和工作原理&#xff0c;随后详细阐述轴心对齐条件与倾斜条件、二元条件与非二元条件的差异及应用场景&#xff0c;…...

网络编程(一)网络编程入门

本节课学习TCP客户端和服务器端编程架构&#xff0c;其分为分为C/S&#xff08;客户端/服务器模式&#xff09;和B/S&#xff08;浏览器/服务器架构模式&#xff09;两种模式。接下来我们分别了解这两种模式 C/S模式 C/S模式&#xff1a;服务器首先先启动&#xff0c;并根据客…...

黑名单中的随机数-leetcode710

题目描述 给定一个整数 n 和一个 无重复 黑名单整数数组 blacklist 。设计一种算法&#xff0c;从 [0, n - 1] 范围内的任意整数中选取一个 未加入 黑名单 blacklist 的整数。任何在上述范围内且不在黑名单 blacklist 中的整数都应该有 同等的可能性 被返回。 优化你的算法&am…...

纯Java实现反向传播算法:零依赖神经网络实战

在深度学习框架泛滥的今天,理解算法底层实现变得愈发重要。反向传播(Backpropagation)作为神经网络训练的基石算法,其实现往往被各种框架封装。本文将突破常规,仅用Java标准库实现完整BP算法,帮助开发者: 1) 深入理解BP数学原理。2) 掌握面向对象的神经网络实现。3) 构建可…...