UseContext传递信息(props)

父组件:content.js
import Son1 from './Son1' //引入子组件
import { useState,createContext } from 'react'

export const CountContext = createContext({}) //创建数据源

function Father(){
	let [title, setTitle] = useState('公共数据')
 	const changeCom = (value) => {
    	setTitle((title = value))
    }
	return (
    <>
     //使用CountContext.Provider包裹子组件 value 是公共使用的数据  
     //可以通过传递函数进行你想要的一些操作
     // CountContext也就是你上面自己取的名字
     <CountContext.Provider value={{ title,change:(value)=>changeCom(value) }}>
      	<Son1></Son1>
      </CountContext.Provider>
      <button onClick={() => changeCom('我是父亲,我修改了公共数据')}></button>
    </>
  )
}
export default Father

子组件:Son1.js
import { useContext } from 'react'
import { CountContext } from './content'  // 关键

// props={text}
function Son1(){
	let data = useContext(CountContext) // 获取公共数据  关键
	return (
    <>
      <p>{data.title}</p> //使用公共数据
       <button onClick={() => data.change('我是儿子,我修改了公共数据')}></button>
    </>
  )
}
export default Son1

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值