什么是redux?它解决了什么问题?

什么是redux?它解决了什么问题?,redux,Redux,当我搜索Redux时,大部分时间我都得到了答案 Redux是JavaScript的一个可预测的状态容器,作为 可与前端框架一起使用的外部库 比如React、Angular、Ember.js、Backbone等 我实际上没有得到这个定义。**可预测状态容器**是什么意思 作为一种新的工具,它应该解决web开发中的一些问题。那么,redux做了什么,它如何帮助我们呢 我认为,当有人说Redux是一个可预测的状态容器时,这意味着Redux有一种非常严格的方法来更改数据,有时称为单向数据流 我主要在Re

当我搜索Redux时,大部分时间我都得到了答案

Redux是JavaScript的一个可预测的状态容器,作为 可与前端框架一起使用的外部库 比如React、Angular、Ember.js、Backbone等

我实际上没有得到这个定义。**可预测状态容器**是什么意思


作为一种新的工具,它应该解决web开发中的一些问题。那么,redux做了什么,它如何帮助我们呢

我认为,当有人说Redux是一个可预测的状态容器时,这意味着Redux有一种非常严格的方法来更改数据,有时称为单向数据流

我主要在React应用程序中使用它,所以我可以判断它在这种情况下解决了哪些问题。虽然您的应用程序很小,但您可能看不到使用Redux的原因,但是当它增长时,当您有许多组件使用相同的数据并且必须彼此通信时,将所有状态存储在根组件的某个位置并将其传递给所有子组件会变得非常痛苦。也可能存在性能问题,根目录和目录之间需要部分状态的所有组件都将重新呈现

因此,使用Redux可以轻松地连接组件并选择它们需要的状态部分。此外,组件之间的通信变得更加容易,而不是将回调传递给道具,您的组件只是列出状态并表示它,任何时候您需要更改状态只需发送一个操作

关于可预测的状态管理,Redux是某种事件源,而不是直接更改状态,因此发送描述如何修改状态的操作(事件),并应用这些更改


关于Redux还有很多话要说,至少是中间件,如果你熟悉Rx,你可以尝试使用Redux observable,它非常强大,你可以听一些动作或状态的变化,将其与其他动作结合起来。我建议您看看,我相信您会找到问题的答案。

我认为,当有人说Redux是一个可预测的状态容器时,这意味着Redux有一种非常严格的方法来更改数据,有时称为单向数据流

我主要在React应用程序中使用它,所以我可以判断它在这种情况下解决了哪些问题。虽然您的应用程序很小,但您可能看不到使用Redux的原因,但是当它增长时,当您有许多组件使用相同的数据并且必须彼此通信时,将所有状态存储在根组件的某个位置并将其传递给所有子组件会变得非常痛苦。也可能存在性能问题,根目录和目录之间需要部分状态的所有组件都将重新呈现

因此,使用Redux可以轻松地连接组件并选择它们需要的状态部分。此外,组件之间的通信变得更加容易,而不是将回调传递给道具,您的组件只是列出状态并表示它,任何时候您需要更改状态只需发送一个操作

关于可预测的状态管理,Redux是某种事件源,而不是直接更改状态,因此发送描述如何修改状态的操作(事件),并应用这些更改


关于Redux还有很多话要说,至少是中间件,如果你熟悉Rx,你可以尝试使用Redux observable,它非常强大,你可以听一些动作或状态的变化,将其与其他动作结合起来。我建议您看一看,我相信您会找到问题的答案。

基本上,redux允许您将数据保存到“存储”中,您的所有用户都可以访问该存储components@fctmolina这听起来像是一个键值对的全局字典。为什么人们甚至费心去最小化他们在每个时刻都能看到的变量的范围这是可以预测的,因为状态不能随意改变。它只能作为操作的结果进行更改。这是我喜欢它的一个方面。它还允许我将我的店铺分为不同的店铺。例如,我有以下存储:用户、应用程序、文档、更改。。。我知道在任何特定的时间,我都会在每一本书中找到什么。当我需要更新有关用户的信息时,我知道我需要在用户还原程序中进行更新。我知道信息将保存在用户存储中。@SergeyVoytovich最小化变量范围可以节省内存并保护数据。只有需要使用该变量执行操作的函数才能访问和修改数据,而不仅仅是任何函数。它还使代码更具可读性基本上,redux允许您将数据保存到“存储”中,所有用户都可以访问该存储components@fctmolina这听起来像是一个键值对的全局字典。为什么人们甚至费心去最小化他们在每个时刻都能看到的变量的范围这是可以预测的,因为状态不能随意改变。它只能作为操作的结果进行更改。这是我喜欢它的一个方面。它还允许我将我的店铺分为不同的店铺。例如,我有以下存储:用户、应用程序、文档、更改。。。我知道在任何特定的时间,我都会在每一本书中找到什么。当我需要更新有关用户的信息时,我知道我需要在用户还原程序中进行更新。我知道信息将保存在用户存储中。@SergeyVoytovich最小化变量范围可以节省内存并保护数据。只有需要使用该变量执行操作的函数才能访问和修改数据,而不仅仅是任何函数。它还使代码更具可读性