Redux:优点和缺点

您所在的位置:网站首页 黄花梨有什么优点与缺点 Redux:优点和缺点

Redux:优点和缺点

2024-07-08 08:38:43| 来源: 网络整理| 查看: 265

使用 Redux:优点和缺点

文章目录 使用 Redux:优点和缺点什么是 Redux?什么时候使用 Redux?Redux 架构使用 Redux 的优势1. Redux 使状态可预测2. Redux 是可维护的3. Redux 调试简单4.性能优势5.易于测试6.状态持久化7.服务端渲染 何时不选择 Redux结论

使用 Redux:优点和缺点 什么是 Redux?

Redux 可以定义为一个开源 JavaScript 库,用于管理应用程序状态。React 使用 Redux 来构建用户界面。它由Dan Abramov和Andrew Clark于2015年首次推出。

React Redux 被认为是 Redux 的官方 React 绑定,它允许 React 组件从 Redux Store 读取数据,并将Actions分派到Store以更新数据。Redux 通过提供一种通过单向数据流模型管理状态的合理方式来帮助应用程序扩展。React Redux 在概念上很简单。它订阅 Redux 存储,检查组件所需的数据是否已更改,并重新渲染组件。

Redux 的灵感来自 Flux。它研究了 Flux 架构并去除了不必要的复杂性。

Redux 没有 Dispatcher 概念。Redux 只有一个 Store 而 Flux 有很多 Store。Action 对象将由 Store 直接接收和处理。 什么时候使用 Redux?

Redux 允许用户在一个地方管理应用程序的状态,并使应用程序中的更改更具可预测性和可追溯性。它可以更轻松地推断应用程序中发生的更改。但所有这些好处都伴随着权衡和限制。人们可能会觉得它增加了样板代码,使简单的事情变得有点难以抗拒。这取决于架构决策。

在应用程序增长到管理应用程序状态变得麻烦的规模的情况下,我们需要 Redux,并且用户开始寻找使其变得容易和简单。

Redux 架构

Redux 的工作方式很简单。有一个中央存储保存应用程序的整个状态。每个组件都可以访问存储的状态,而无需将 props 从一个组件发送到另一个组件。Redux 架构的组件解释如下。

STORE: Store 是指应用程序的整个状态列出的地方。它管理应用程序的状态并具有调度功能。它就像一个负责 Redux 中所有活动部件的大脑。

ACTION: Action 是从视图中发送或调度的,它们是可以被 Reducers 读取的有效载荷。它是一个纯粹的对象,用于存储用户的事件信息。它包括诸如动作类型、发生时间、发生位置、其坐标以及它要改变的状态等信息。

REDUCER: Reducer 从动作中读取有效载荷,然后相应地通过状态更新存储。从初始状态返回新状态是一个纯函数。

使用 Redux 的优势 1. Redux 使状态可预测

在 Redux 中,状态始终是可预测的。如果将相同的状态和动作传递给减速器,则总是会产生相同的结果,因为减速器是纯函数。状态也是不可变的,永远不会改变。这使得执行诸如无限撤消和重做之类的艰巨任务成为可能。还可以在之前的状态之间来回移动并实时查看结果。

2. Redux 是可维护的

Redux 对代码的组织方式很严格,这使得具有 Redux 知识的人更容易理解任何 Redux 应用程序的结构。这通常使维护更容易。这也有助于用户将业务逻辑与组件树分离。对于大型应用程序,保持应用程序更具可预测性和可维护性至关重要。

3. Redux 调试简单

Redux 使调试应用程序变得容易。通过记录操作和状态,很容易理解编码错误、网络错误和生产过程中可能出现的其他形式的错误。

除了日志记录,它还有很棒的 DevTools,允许时间旅行操作、页面刷新时的持久操作等。对于中型和大型应用程序,调试比实际开发功能花费更多的时间。Redux DevTools 使您可以轻松利用 Redux 提供的所有功能。

4.性能优势

我们可能会假设保持应用程序的状态全局会导致一些性能下降。在很大程度上,情况并非如此,因为 React Redux 在内部实现了许多性能优化,因此我们自己的连接组件仅在实际需要时才重新渲染。

5.易于测试

由于函数用于更改纯函数的状态,因此测试 Redux 应用程序很容易。

6.状态持久化

我们可以将应用程序的一些状态持久化到本地存储并在刷新后恢复它。这真的很漂亮。

7.服务端渲染

Redux 也可用于服务器端渲染。有了它,我们可以通过将应用程序的状态连同它对服务器请求的响应发送到服务器来处理应用程序的初始呈现。然后所需的组件以 HTML 格式呈现并发送到客户端。

何时不选择 Redux

主要由简单的用户界面更改组成的应用程序通常不需要像 Redux 这样的复杂模式。有时,不同组件之间的老式状态共享也有效,并提高了代码的可维护性。

此外,如果用户的数据来自每个视图的单个数据源,则他们可以避免使用 Redux。换句话说,如果我们不需要多源数据,就没有必要引入Redux。每个视图访问单个数据源时,我们不会遇到数据不一致的问题。

因此,在介绍其复杂性之前,请务必检查我们是否需要 Redux。尽管这是一种促进纯函数的相当有效的模式,但对于仅涉及几个 UI 更改的简单应用程序来说,这可能是一种开销。最重要的是,我们不应该忘记 Redux 是一个内存状态存储。换句话说,如果我们的应用程序崩溃,我们将丢失整个应用程序状态。这意味着我们必须使用缓存解决方案来创建应用程序状态的备份,这又会产生额外的开销。

结论 我们已经讨论了 Redux 的主要特性以及为什么 Redux 对我们的应用程序有益。虽然 Redux 有它的好处,但这并不意味着我们应该将 Redux 添加到我们所有的应用程序中。如果没有 Redux,我们的应用程序可能仍能正常运行。Redux 的一个主要好处是增加了方向,将“发生的事情”与“事情如何变化”分开。如果我们确定我们的项目需要状态管理工具,我们应该只实施 Redux。


【本文地址】

公司简介

联系我们

今日新闻


点击排行

实验室常用的仪器、试剂和
说到实验室常用到的东西,主要就分为仪器、试剂和耗
不用再找了,全球10大实验
01、赛默飞世尔科技(热电)Thermo Fisher Scientif
三代水柜的量产巅峰T-72坦
作者:寞寒最近,西边闹腾挺大,本来小寞以为忙完这
通风柜跟实验室通风系统有
说到通风柜跟实验室通风,不少人都纠结二者到底是不
集消毒杀菌、烘干收纳为一
厨房是家里细菌较多的地方,潮湿的环境、没有完全密
实验室设备之全钢实验台如
全钢实验台是实验室家具中较为重要的家具之一,很多

推荐新闻


图片新闻

实验室药品柜的特性有哪些
实验室药品柜是实验室家具的重要组成部分之一,主要
小学科学实验中有哪些教学
计算机 计算器 一般 打孔器 打气筒 仪器车 显微镜
实验室各种仪器原理动图讲
1.紫外分光光谱UV分析原理:吸收紫外光能量,引起分
高中化学常见仪器及实验装
1、可加热仪器:2、计量仪器:(1)仪器A的名称:量
微生物操作主要设备和器具
今天盘点一下微生物操作主要设备和器具,别嫌我啰嗦
浅谈通风柜使用基本常识
 众所周知,通风柜功能中最主要的就是排气功能。在

专题文章

    CopyRight 2018-2019 实验室设备网 版权所有 win10的实时保护怎么永久关闭