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

React 19中useContext不需要Provider了。

文章目录

  • 前言
  • 一、React 19中useContext移除了Provider?
  • 二、使用步骤
  • 总结


前言

在 React 19 中,useContext 的使用方式有所更新。开发者现在可以直接使用 作为提供者,而不再需要使用 <Context.Provider>。这一变化简化了代码结构,提升了开发效率。文章中通过示例代码展示了如何创建上下文、在子组件中使用 useContext,以及如何通过 useState 更新上下文中的值。尽管 useContext 提供了便捷的跨组件数据共享方式,但使用时需注意避免滥用和性能问题。通过合理拆分上下文并结合 TypeScript 和性能优化,可以更好地发挥其优势。


一、React 19中useContext移除了Provider?

在 React 19 中,你可以将 渲染为提供者,就无需再使用 <Context.Provider> 了:

二、使用步骤

import { createContext, useContext, useState } from "react";interface MyContextType {name: string;setName: (value: string) => void;
}// 创建上下文
const MyContext = createContext<MyContextType>({} as MyContextType);const Son = () => {const name = useContext(MyContext);console.log(name);return <div>Son</div>;
};
// 子组件
const Child = () => {const name = useContext(MyContext);console.log(name);return <div>Child</div>;
};
const App = () => {const [name, setName] = useState("小路");return (<div><button onClick={() => setName("123")}>改变name值</button><MyContext value={{ name, setName }}><Child /><hr /><Son /></MyContext></div>);
};export default App;

在这里插入图片描述

在这里插入图片描述

总结

useContext 是 React 中一个强大且灵活的 Hook,它通过 Context API 提供了跨组件共享数据的便捷方式。然而,使用时需要谨慎,避免滥用和性能问题。通过合理拆分上下文、结合 TypeScript 和性能优化,可以更好地发挥 useContext 的优势。

http://www.xdnf.cn/news/7087.html

相关文章:

  • Java基础知识总结(超详细整理)
  • 32LED心形灯程序源代码
  • 常见的 HTTP 接口(请求方法)
  • PCB设计(十九)PCB设计中NPN/PNP选型策略
  • Window远程连接Linux桌面版
  • 掘金欧洲宠物经济新蓝海:比利时天然宠粮市场爆发与跨境新机遇
  • c++从入门到精通(六)--特殊工具与技术-完结篇
  • Azure 机器学习初学者指南
  • Nacos数据写入流程
  • 深入理解EKS 工作节点的网络架构
  • Cadence学习笔记之---PCB器件放置与布局
  • SSM框架整合:从入门到实战
  • 大模型微调步骤整理
  • Flink CEP是什么?
  • 【数据结构与算法】ArrayList 与顺序表的实现
  • C++23 新特性:使某些视图的多参数构造函数显式化(P2711R1)
  • HBM的“暗战”
  • Spring AOP从0到1
  • STM32CubeMX生成UTF-8编码文件的设置方法
  • 第12章 Java多线程机制
  • 阶段四 项目1-苍穹外卖 第一章 Git
  • 基于matlab/simulink锂电池算法学习集合(SOC、SOH、BMS)
  • FloodFill算法:洪水般的图像处理艺术
  • #Redis黑马点评#(六)Redis当中的消息队列
  • 从0到1吃透卷积神经网络(CNN):原理与实战全解析
  • Java基于数组的阻塞队列实现详解
  • Qt音视频开发过程中一个疑难杂症的解决方法/ffmpeg中采集本地音频设备无法触发超时回调
  • 健康生活:养生实用指南
  • 浅谈无服务器WebSocket的优势
  • 什么是open BMC?