为什么 react 中要使用 redux

背景

作为一名后端工程师,我最近在学习前端 react 知识,准备转全栈工程师,学 react 势必要学习 redux ,初学 redux 的时候,觉得 redux 很鸡肋,根据我的经验来看,我认为 redux 的设计非常的反设计原则,为什么这么说呢。我们先来看看 redux 做了什么事情。

redux 的两种身份

发布/订阅 模型

首先 redux 可以认为是 发布/订阅 模型的一种实现,组件通过 action 发布事件,经过 reducer 处理后,将改变后的数据通知到订阅 stroe 的组件,然后触发监听 store 的组件的变动。

全局 state 存储

redux 通过 store 存储几乎所有的数据信息,将数据平铺在一个大 JSON 中,便于各处获取使用。

redux 违反的原则

破坏了内聚性

一般来说,我们认为组件是包含 数据 + 逻辑 + 视图 的集合,但是用了 redux 后,我们将数据全部存放到 store 中,将逻辑置于 redurce 中,而组件内部往往只剩下了 视图 这么一个功能,导致组件的交互必须要与外部 store 发生关联,并且这些操作都由 reducer 完成,这些内容外部是可见的。这违反了内聚性。

违反了迪米特法则

迪米特法则也即最小知识原则,由于所有的数据铺开在一起,假设现在页面中有 A,B,C 三个组件&#x

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值