react之useContext

1. src文件夹下新建ctx/index.jsx

复制代码
import { createContext } from 'react'

const Ctx = createContext({
  name: '',
  age: ''
})

export default Ctx

2. 在提供数据的组件使用Ctx.Provider组件包裹要接收数据的组件,并使用value值提供数据

复制代码
import A from './A'
import Ctx from './ctx'
function App() {
  return (
    <Ctx.Provider value={{ name: '张三', age: 18 }}>
      <div>我是App组件</div>
      <A />
    </Ctx.Provider>
  )
}

export default App

3. 在接收数据的组件,使用useContext钩子,获取ctx的数据,切记要把ctx/index.jsx文件夹下暴露出来的ctx传入到useContext中

复制代码
import Ctx from './ctx'
import { useContext } from 'react'
const C = () => {
  const ctx = useContext(Ctx)
  return (
    <>
      <div>我是C组件</div>
      <div>姓名:{ctx.name}</div>
      <div>年龄:{ctx.age}</div>
    </>
  )
}

export default C
相关推荐
Bigger17 分钟前
Tauri (20)——为什么 NSPanel 窗口不能用官方 API 全屏?
前端·macos·app
bug总结18 分钟前
前端开发中为什么要使用 URL().origin 提取接口根地址
开发语言·前端·javascript·vue.js·html
程序员爱钓鱼42 分钟前
Node.js 编程实战:数据库连接池与性能优化
javascript·后端·node.js
Gomiko1 小时前
JavaScript DOM 原生部分(二):元素内容修改
开发语言·javascript·ecmascript
一招定胜负1 小时前
网络爬虫(第三部)
前端·javascript·爬虫
Data_agent1 小时前
实战:用Splash搞定JavaScript密集型网页渲染
开发语言·javascript·ecmascript
San302 小时前
现代前端工程化实战:从 Vite 到 React Router demo的构建之旅
react.js·前端框架·vite
Shaneyxs2 小时前
从 0 到 1 实现CloudBase云开发 + 低代码全栈开发活动管理小程序(13)
前端
半山烟雨半山青2 小时前
微信内容emoji表情包编辑器 + vue3 + ts + WrchatEmogi Editor
前端·javascript·vue.js
码途潇潇2 小时前
Vue 事件机制全面解析:原生事件、自定义事件与 DOM 冒泡完全讲透
前端·javascript