useContext

爷爷组件

export default function App() {

  const [flag, setFalg] = useState(false);

  const handelFlag = () => {

    setFalg(!flag)

  }

    <div>

      <Context.Provider value={{ flag: flag,changeFlag:handelFlag }}>

      <Father/>

      </Context.Provider>

 父组件

import React,{useContext} from 'react'

import BigCircle from './BigCircle'

import Btn from './Btn';

import {Context}from '../App'

export default function Father() {

   

    return (

        <div>

            <Btn />

          <BigCircle />  

        </div                                                                                                                                                       子组件

import React,{useContext} from 'react'

import {Context}from '../App'

export default function BigCircle() {

    const {flag}=useContext(Context);

    return (

        <div style={{width:'100px',height:'100px',background:flag?'red':'green'}}>

           

        </div>

    )

}

子组件

import React,{useContext} from 'react'

import {Context}from '../App'

export default function Btn() {

    const {changeFlag } = useContext(Context);

    return (

        <div>

            <button onClick={changeFlag}>点击</button>

        </div>

    )

}

                    

参考链接 React Hook之useContext的介绍与使用_四川省奇呱科技有限公司-CSDN博客_usecontext

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值