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

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.dtcms.com/a/197501.html

相关文章:

  • numpy数组的拆分和组合
  • Python 装饰器详解
  • 使用 C# 入门深度学习:线性代数详细讲解
  • 3:OpenCV—视频播放
  • MySQL--day2--基本的select语句
  • Ubuntu16.04升级gcc/g++版本方法
  • [特殊字符] SSL/TLS 中的密钥协商流程笔记
  • 【图像生成大模型】HunyuanVideo:大规模视频生成模型的系统性框架
  • Vue百日学习计划Day28-32天详细计划-Gemini版
  • 泰国SAP ERP实施如何应对挑战?工博科技赋能中企出海EEC战略
  • 机器学习-人与机器生数据的区分模型测试 - 模型选择与微调
  • 第三章:UI 系统架构拆解与动态界面管理实录
  • Android动态音频柱状图可视化解析:从原理到实现
  • 【爬虫】DrissionPage-7
  • 项目制作流程
  • 2- PyTorch
  • 如何确定自己的职业发展方向?
  • [创业之路-362]:企业战略管理案例分析-3-战略制定-华为使命、愿景、价值观的演变过程
  • 【LeetCode 热题100】739:每日温度(详细解析)(Go语言版)
  • SpringBoot3+AI
  • 【android bluetooth 协议分析 01】【HCI 层介绍 3】【NUMBER_OF_COMPLETED_PACKETS 事件介绍】
  • Flink CEP是什么?
  • 系统架构设计(十四):解释器风格
  • 开始学习做游戏,就现在
  • 写spark程序数据计算( 数据库的计算,求和,汇总之类的)连接mysql数据库,写入计算结果
  • 【数据结构】2-3-2 单链表的插入删除
  • JSON Schema 高效校验 JSON 数据格式
  • 翻到了一段2005年写的关于需求的文字
  • ⭐️白嫖的阿里云认证⭐️ 第二弹【课时1:提示词(Prompt)技巧】for 「大模型Clouder认证:利用大模型提升内容生产能力」
  • 软件工具:批量图片区域识别+重命名文件的方法,发票识别和区域选择方法参考,基于阿里云实现