下面是一个完整的实例,展示了如何在 React 中使用 React Context
和 useContext
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;
在这个例子中:
- 我们创建了一个上下文
MyContext
。 - 父组件
ParentComponent
使用MyContext.Provider
包裹子组件ChildComponent
,并通过value
属性传递数据。 - 子组件
ChildComponent
使用useContext
Hook 访问上下文数据。
这样,我们就实现了在 React 中使用 React Context
和 useContext
Hook 在组件树中传递数据。
前端工程师、程序员
标签:
react hook
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 从HTTP原因短语缺失研究HTTP/2和HTTP/3的设计差异
· 三行代码完成国际化适配,妙~啊~