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
相关推荐
crary,记忆5 分钟前
Angular如何让整个项目的所有页面能够整体缩小一定的比例?
javascript·ecmascript·angular.js
Mintopia19 分钟前
🤖 算法偏见修正:WebAI模型的公平性优化技术
前端·javascript·aigc
Mintopia22 分钟前
🧩 TypeScript防御性编程:让Bug无处遁形的艺术
前端·typescript·函数式编程
JarvanMo25 分钟前
🔔 Flutter 本地通知: 吸引用户的完整指南—即使在他们离线时也能实现
前端
你想考研啊30 分钟前
一、redis安装(单机)和使用
前端·数据库·redis
江城开朗的豌豆32 分钟前
小程序与H5的“握手言和”:无缝嵌入与双向通信实战
前端·javascript·微信小程序
天蓝色的鱼鱼32 分钟前
React 19 发布一年后:对比 React 18,带来了哪些惊喜与变革
前端·react.js
你的电影很有趣36 分钟前
lesson73:Vue渐进式框架的进化之路——组合式API、选项式对比与响应式新范式
javascript·vue.js
江城开朗的豌豆37 分钟前
小程序静默更新?用户却无感?一招教你“强提醒”
前端·javascript·微信小程序
小张成长计划..38 分钟前
VUE工程化开发模式
前端·javascript·vue.js