当前位置:首页 > React

react如何使用context

2026-02-12 04:14:29React

使用 React Context 的基本步骤

创建 Context 对象:

const MyContext = React.createContext(defaultValue);

提供 Context 值:

<MyContext.Provider value={/* 某个值 */}>
  {/* 子组件 */}
</MyContext.Provider>

在子组件中消费 Context:

// 类组件
static contextType = MyContext;
// 或在函数组件/类组件中使用 Consumer
<MyContext.Consumer>
  {value => /* 基于 context 值进行渲染 */}
</MyContext.Consumer>

函数组件中使用 useContext

对于函数组件,可以使用 useContext Hook 简化消费:

const value = useContext(MyContext);

动态 Context 更新

Provider 的 value 变化时,所有消费该 Context 的组件都会重新渲染。确保 value 对象引用变化能触发更新:

const [value, setValue] = useState(initialValue);
<MyContext.Provider value={{ value, setValue }}>
  {/* 子组件 */}
</MyContext.Provider>

多 Context 使用

一个应用可以使用多个 Context,嵌套 Provider 即可:

<ThemeContext.Provider value={theme}>
  <UserContext.Provider value={user}>
    {/* 子组件 */}
  </UserContext.Provider>
</ThemeContext.Provider>

性能优化

避免 Context 值频繁变化导致不必要的渲染:

  • 将不常变化的数据分离到单独 Context
  • 使用 memo 或 useMemo 优化子组件

类型安全(TypeScript)

为 Context 提供类型定义:

react如何使用context

interface MyContextType {
  value: string;
  setValue: (v: string) => void;
}

const MyContext = React.createContext<MyContextType>({
  value: '',
  setValue: () => {}
});

分享给朋友:

相关文章

如何评价react native

如何评价react native

React Native 的优势 跨平台开发效率高 React Native 允许开发者使用 JavaScript 和 React 编写代码,同时生成 iOS 和 Android 应用,大幅减少开发成…

react 如何执行

react 如何执行

安装 React 确保 Node.js 安装在本地环境中。通过以下命令创建新的 React 项目: npx create-react-app my-app 进入项目目录并启动开发服务器:…

react如何

react如何

React 基础概念 React 是一个用于构建用户界面的 JavaScript 库,专注于组件化开发。通过虚拟 DOM 和高效的渲染机制,React 能够实现高性能的 UI 更新。 安装 Re…

如何评价react native

如何评价react native

React Native 的优势 跨平台开发效率高:基于 JavaScript 和 React 语法,可同时开发 iOS 和 Android 应用,减少重复代码量。性能接近原生:通过原生组件渲染,性能…

react如何循环

react如何循环

循环渲染列表 在React中循环渲染列表通常使用map方法,这是最常用的方式。通过map可以将数组中的每个元素转换为React元素并渲染到页面上。 const items = ['Apple', '…

react如何调度

react如何调度

React 调度机制概述 React 的调度机制通过 Fiber 架构 和 Scheduler 模块实现任务优先级管理与时间切片(Time Slicing),确保高优先级更新(如用户交互)能快速响应,…