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
相关推荐
鱼大大博客1 小时前
Edge Scdn的应用场景有哪些?
前端·edge
两只鱼丿1 小时前
Edge安装问题,安装后出现:Could not find Edge installation
前端·edge
早上好啊! 树哥3 小时前
JavaScript Math(算数) 对象的用法详解
开发语言·javascript·ecmascript
screct_demo4 小时前
通俗易懂的讲一下Vue的双向绑定和React的单向绑定
前端·javascript·html
有心还是可以做到的嘛4 小时前
ref() 和 reactive() 区别
前端·javascript·vue.js
xcLeigh6 小时前
HTML5实现好看的博客网站、通用大作业网页模板源码
前端·课程设计·html5
mit6.8246 小时前
[Qt] 输入控件 | Line | Text | Combo | Spin | Date | Dial | Slider
前端·qt·学习·ubuntu
山楂树の6 小时前
xr-frame 通过shader去除视频背景色,加载透明视频
javascript·线性代数·ar·xr·图形渲染
狗狗显卡8 小时前
一些计算机零碎知识随写(25年1月)
前端
Burt8 小时前
【unibest】可以去掉hbx模版了,base模板一统天下
前端·微信小程序·uni-app