Skip to content
// 跨组件通信
import React, { useState } from 'react';
import { useContext } from 'react';

const MyContext = React.createContext('默认值')

const Parent = () => {

  const [info] = useState({
    userName: 'zack',
    age: 3000
  })

  return (
    <div>
      <MyContext.Provider value={info}>
        <Child />
      </MyContext.Provider>
    </div>
  )
}

const Child = () => {
  return (
    <div>
      <h3>我是子组件</h3>
      <GrandChhild />
    </div>
  )
}

const GrandChhild = () => {
  let { userName, age } = useContext(MyContext)
  return (
    <div>
      <h3>我是孙子组件</h3>
      <p>我接收到祖先的信息如下:</p>
      <p>祖先的名字:{userName},祖先的年龄:{age} </p>
    </div>
  )
}

const UseContextCom = () => {
  return (
    <div>
      <Parent />
    </div>
  )
}

export default UseContextCom