保持联系
印度班加罗尔
[电子邮件 protected]
电话:+91 8919786847
工作查询
[电子邮件 protected]
电话:+91 8919786847

React Redux:这里 ’关于其功能的快速工具

React Redux简介 

Redux不是React的一部分。 Redux是一个单独的JavaScript库,您可以将其与 其他任何JavaScript框架。那么它试图解决什么问题呢?

在React中使状态管理变得更加容易。您问为什么很难管理该部门?据我们所知,如果您没有React,以及您是否在构建项目,’很简单,对吧?您可以通过道具,动作等传递数据,从而使其运行非常平稳。

那么,为什么我们需要Redux?

好吧,当你建造的时候’重新学习后,您将建立一些小例子并传递道具,所有这些事情都很容易。你觉得你不知道’如果可以正常工作,则不需要其他任何东西,但是当您的应用程序增长到一定水平时, 可读性成为问题。那’在图片中出现Redux的地方,使您的生活更加轻松。您一定想知道,在全球范围内进行管理’就像反模式。 

什么是Redux?

 由...制作 丹·阿布拉莫夫 安德鲁·克拉克 2015, React-Redux是一个 国家管理图书馆 在JavaScript应用程序中使用。受功能编程语言的影响 榆树,我们可以将其与 React,Angular,VUE, 甚至 香草JS 因为Redux只是一个状态管理库。

Redux的用途是什么?

 如果您曾经使用 复杂的UI。您’您可能会遇到这种情况,您需要使UI的不同部分保持同步。如果用户更改了UI的一部分中的某些数据,则UI的其他部分应立即更新以反映所做的更改。在更复杂的情况下,由于网络请求或后台任务,数据也可能会更新。在这种情况下,数据可能会从UI的一部分流到另一部分,并以无法预测的方式发生变化。我们’您必须编写大量代码来使所有内容保持同步,并在出现问题时弄清楚数据如何更改以及来自何处变得非常复杂。

您甚至可能会遇到难以中断的无限循环。如果您在应用程序中遇到此类问题,那’一个标志,您需要一个状态管理库。 总而言之,我们可以说, Redux在单个不可变状态树(称为对象)中维护整个应用程序的状态,该状态树无法直接更改。更改某些内容后,将创建一个全新的对象 (仅通过使用动作和减速器即可)。

国家管理解决方案

  • 助焊剂 (通过Facebook),Facebook在 2014 并提出了一种称为通量的建筑模式
  • Redux 灵感来自助焊剂,但由于其简洁和优雅,它越来越受欢迎。

使用Redux进行状态管理

毫无疑问,状态管理是任何应用程序中最困难的部分。这就是存在这么多状态管理库并如此频繁发布新库的原因。状态管理是一个很难解决的问题,但是困难的原因是我们过度设计了解决方案。

React成功的主要原因之一是React-Redux为React提供了一种解决方案,使创建交互式UI变得很轻松。对于应用程序中的每个状态,如果设计了一个简单的视图,React将在数据更改时有效地更新和呈现正确的组件。通过将组件传递给connect函数,我们可以在树的不同位置共享数据的方式非常了不起。指某东西的用途 减速器, 动作创作者 等等也很棒,但是React Redux确实很出色,因为它解决了 为开发人员进行钻探。

如果您使用React构建应用程序,则将拥有一个状态管理库 预装 在您的应用程序中。这不’甚至为用户增加了一个字节,并与所有React软件包集成在一起。

当我们构建一个React应用程序时,我们基本上是在组装一堆组件以组成一个组件树,开始于 <App /> 并结束于 <input />s <div />s<button />s。我们赢了’•在单个中央位置管理我们的应用程序渲染的所有低级复合组件。取而代之的是,我们可以让每个组件进行管理,最终将成为构建UI的一种非常有效的方法。

使用Redux,我们存储的不是在UI的各个部分分散应用程序状态,而是存储 一个单一JavaScript对象的中央存储库中的所有应用程序状态 所谓的商店就是唯一的真理来源。您可以将其视为某种  前端的数据库,因此采用这种架构,UI的不同部分 不再保持自己的状态。相反,他们可以从商店中获得所需的东西。

如果 您需要更新数据,这里只有一个地方需要更新。所以这马上 解决了在UI的不同部分之间同步数据但Redux的问题 体系结构还使您很容易理解应用程序中数据的变化。 如果出现问题,我们可以确切地看到数据如何变化,乳清,何时何地来自何处。 

简而言之,Redux:

  • 集中应用’s state 
  • 使应用程序中的数据流透明且可预测

Redux的优缺点:

您可能在想为什么我们应该使用Redux而不使用某些其他状态管理库。在新应用程序中使用React的redux有很多好处

优点:

  • 可预测的状态变化: 在Redux的帮助下编写的应用程序运行稳定,并在不同类型的环境(客户端,服务器和本机)中运行,这些环境也易于测试
  • 集中状态: 它帮助我们避免混淆哪个状态与哪些动作同步。
  • 调试方便: Redux有开发工具 便于在何时,何地,为什么以及如何跟踪应用程序’状态正在改变。 Redux的架构使我们可以记录更改,使用“时间旅行调试”,并将完整的错误报告发送到服务器。
  • 保留页面状态
  • 撤消/重做选项
  • 生态系统附加组件: React适用于所有UI层,并具有大量附加组件来满足您的需求。

缺点:

  • 复杂
  • 细度

 

什么时候不使用Redux?

尽管使用Redux有很多优点,可以清楚地规避缺点,但是我们应该牢记某些情况’s better 不使用Redux。这些方案包括:

  • 当你有一个非常 预算紧张
  • 当您使用 中小型应用
  • 您的应用程序的UI /数据流非常简单
  • 该应用程序的数据是 静态的 在自然界。

 

功能编程

 

Redux的构建考虑了函数式编程的概念。因此,理解函数式编程的概念对于理解Redux的原因和作用非常重要。 函数式编程使开发人员可以编写清晰且模块化的代码。在范围和逻辑上编写更小,更简单的隔离函数,可使代码更容易实现 测试,维护和调试。 这些较小的函数现在将成为可以 重用 一遍又一遍,这使开发人员可以减少编写代码,这总是一件好事。这些功能可以在任何地方使用,而无需任何修改,只需复制和粘贴即可。在范围内被隔离并且仅执行一项任务的功能将始终较少地依赖于应用程序中的其他模块,而这种减少的耦合是功能编程的许多好处之一。

在使用功能性JavaScript时,我们经常会看到纯函数,匿名函数等等。纯函数被Redux大量使用,因此了解它们的功能非常重要。 纯函数是根据传递给它们的参数返回新值的函数。 现有对象不会被它们修改;而是由他们返回一个新的。这些函数从不依赖于调用它们的状态,并且对于通过它们传递的参数,它们仅提供一个相同的结果。因此使它们非常可预测。因为纯函数永远不会修改任何值,作用域或任何可观察到的副作用,都不是由它们引起的,这意味着开发人员可以将重点放在纯函数返回的值上。

结论

如果您刚开始使用Redux,可能会发现需要更多的代码,并且您可能还会因此感到应用程序的复杂性确实在增加。最初可能是正确的,但是当您的应用程序包含很多组件时,Redux将显示其有用性。 Redux确实会帮助您保持项目的整洁和一致。 Redux确保了 清晰的数据流,并使组件始终保持同步。这是对具有大量组件的任何应用程序进行最佳处理的必备条件。

作者头像
QuikieApps
//www.qinheli.com.cn/blog

发表评论

您的电子邮件地址不会被公开。 必需的地方已做标记 *

我们使用cookie为您提供最佳体验。