React context 实现组件联动功能

本文探讨了React Context API如何用于组件间的状态管理和联动,对比了与Redux的区别。指出Context API更适合不常更新的状态,如语言切换、主题切换、权限验证等,而频繁更新的状态适合使用Redux。通过示例代码展示了Context实现组件联动的简单实现。
摘要由CSDN通过智能技术生成

我们知道React Context 已经出现有一段时间了并且随着hook的盛行,我们更多的发掘出了Context的价值。

Context是可以像Redux一样用来管理状态,不知道你有没有像我一样有这个疑问,那既然Redux就可以管理状态,为什么要使用Context呢?

现在我的理解呢是由于Context API不像Redux那样依赖很多第三方库。但是并不是说Context就可以代替Redux的。

那你可能又好奇了:什么时候用Context?什么时候使用Reudx呢?

一般情况下,如果状态不需要经常update的我们可以使用Context,比如像语言切换,主题切换,权限验证等,如果状态高频率Updata,那么Context不是一个很好的解决方案,因为每次的Updata,都要重新渲染,这个时候我们可以使用Redux。

下面就用一段简单的代码实现组件之间的联动

废话不多说,附上代码是王道。

import React, { createContext, useState, useContext } from 'react'

const Elements = createContext()

const Child1 = () => {
  const [count, setCount] = useContext(Elements)
  return (
    <div>
      <p>{count}</p>
      <button onClick={() => setCount(prevState => prevState + 1)}>
        Button1
      </button>
    </div>
  )
}

const Child2 =
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值