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
相关推荐
S***t71411 小时前
Vue面试经验
javascript·vue.js·面试
粉末的沉淀12 小时前
css:制作带边框的气泡框
前端·javascript·css
p***h64313 小时前
JavaScript在Node.js中的异步编程
开发语言·javascript·node.js
N***738513 小时前
Vue网络编程详解
前端·javascript·vue.js
e***716713 小时前
Spring Boot项目接收前端参数的11种方式
前端·spring boot·后端
程序猿小蒜13 小时前
基于springboot的的学生干部管理系统开发与设计
java·前端·spring boot·后端·spring
银空飞羽13 小时前
让Trae CN SOLO自主发挥,看看能做出一个什么样的项目
前端·人工智能·trae
Eshine、14 小时前
解决前端项目中,浏览器无法正常加载带.gz名称的文件
前端·vue3·.gz·.gz名称的js文件无法被加载
用户479492835691514 小时前
React Grab 原理篇:它是怎么"偷窥" React 的?
人工智能·react.js·ai编程
q***385115 小时前
TypeScript 与后端开发Node.js
javascript·typescript·node.js