joken-前端工程师

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: :: :: 管理 ::
  404 随笔 :: 39 文章 :: 8 评论 :: 20万 阅读

下面是一个完整的实例,展示了如何在 React 中使用 React ContextuseContext Hook 在组件树中传递数据。

首先,我们创建一个上下文 MyContext

// MyContext.js
import React from 'react';

// 创建一个上下文
const MyContext = React.createContext();

export default MyContext;

接下来,我们创建一个父组件 ParentComponent,它使用 MyContext.Provider 包裹子组件 ChildComponent,并通过 value 属性传递数据:

// ParentComponent.js
import React, { useState } from 'react';
import MyContext from './MyContext';
import ChildComponent from './ChildComponent';

const ParentComponent = () => {
  const [data, setData] = useState('初始数据');

  return (
    <MyContext.Provider value={data}>
      <h1>父组件</h1>
      <ChildComponent />
    </MyContext.Provider>
  );
};

export default ParentComponent;

然后,我们创建子组件 ChildComponent,它使用 useContext Hook 访问上下文数据:

// ChildComponent.js
import React, { useContext } from 'react';
import MyContext from './MyContext';

const ChildComponent = () => {
  const data = useContext(MyContext);

  return (
    <div>
      <h2>子组件</h2>
      <p>来自父组件的数据: {data}</p>
    </div>
  );
};

export default ChildComponent;

最后,我们创建一个 App 组件,它使用 ParentComponent

// App.js
import React from 'react';
import ParentComponent from './ParentComponent';

const App = () => {
  return (
    <div>
      <h1>App 组件</h1>
      <ParentComponent />
    </div>
  );
};

export default App;

在这个例子中:

  1. 我们创建了一个上下文 MyContext
  2. 父组件 ParentComponent 使用 MyContext.Provider 包裹子组件 ChildComponent,并通过 value 属性传递数据。
  3. 子组件 ChildComponent 使用 useContext Hook 访问上下文数据。

这样,我们就实现了在 React 中使用 React ContextuseContext Hook 在组件树中传递数据。

posted on   joken1310  阅读(23)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 从HTTP原因短语缺失研究HTTP/2和HTTP/3的设计差异
· 三行代码完成国际化适配,妙~啊~
点击右上角即可分享
微信分享提示