QuikieApps

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在单个不可变状态树(称为对象)中维护整个应用程序的状态,该状态树无法直接更改。更改某些内容后,将创建一个全新的对象 (仅通过使用动作和减速器即可)。

国家管理解决方案

使用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:

Redux的优缺点:

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

优点:

缺点:

 

什么时候不使用Redux?

尽管使用Redux有很多优点,可以清楚地确定缺点,但我们应该记住某些情况会更好 不使用Redux。这些方案包括:

 

功能编程

 

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

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

结论

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

Exit mobile version