React----Hooks函数组件----useContext

本文介绍了React Hooks中的useContext,展示了如何利用它实现跨组件层级的数据共享。通过创建一个context对象,使用Provider包裹组件,当Provider的值改变时,依赖此值的组件会重新渲染。文中提供了一个具体的例子,解释了如何在不同组件间传递和接收数据,以解决组件间通信的问题。
摘要由CSDN通过智能技术生成

一、定义

        useContext可以实现跨越组件层级,实现数据共享。

二、实现原理

        使用createContext 创建一个上下文对象,用useContext来接收这个对象,在.Provider包裹想要传递数组的所有组件,当组件上层最近的 <ContContext.Provider> 更新时,该 Hook 会触发重渲染,并使用最新传递的value 值,以实现跨组件的数据传递。

三、示例

问题:现在有三个组件,<Component1/>,<Component2/>,<Component,3/>,大概的关系是,1和2是兄弟组件,3是2的子组件,现在需要2的数据传递给1.

解决思路:创建一个createContext 名为ContContext,在最外层使用<ContContext.Provider>包裹,在想要传递数据的组件中使用一个回调setData保存值,在想要接收数据的组件接收值data

1. 创建一个context.js文件:


                
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值