7

我是 react/redux 的新手。我试图弄清楚 redux 中的所有部分是如何交互的。给我带来麻烦的一件事是理解动作和减速器之间的关系,存储。

4

6 回答 6

7

存储 一个保存应用程序状态数据的对象

Reducer 一个返回一些状态数据的函数。由动作触发type

Action 告诉reducer如何改变状态的对象。它必须包含一个type属性。它可以选择包含一个payload属性

于 2019-01-27T11:07:38.310 回答
6

当您考虑它时,这很简单:

  • 存储- 保存您的应用程序使用的所有数据。
  • Reducer - 是在收到操作时操纵该数据的东西。
  • Action - 告诉reducer 操作存储数据,它带有名称和(不是必需的)一些数据。

Reducer通常采用 switch 语句的格式,在所有可能的Actions(案例)之间切换,然后根据 action操作Store数据。当 redux 中的 reducer 数据发生变化时,组件中的属性会发生变化,然后会发生重新渲染。

于 2021-03-16T10:35:27.117 回答
6
  • 存储-> 全球化状态
  • Action -> 你想要做什么,例如:事件点击
  • Reducer -> 描述您的操作如何将状态转移到下一个状态。它检查发生了哪些操作,并根据更新存储的操作。
  • Dispatch -> 执行动作的方式。eg:将动作分发给reducer。然后 reducer 会检查要做什么,并且 store 会更新。
于 2019-11-05T14:01:51.937 回答
3

想象一下您希望基于类的组件彼此共享数据的情况。他们甚至可能给数据带来变化。一个人可以以道具的形式向其他人提供数据。但是很难跟踪道具的名称和数据的结构。

商店实际上简化了这些东西。您以这样一种方式设置应用程序架构,即组件将从所谓的Store中获取其数据。实际上,该机制非常智能,因为组件都是耳朵,所以当数据发生变化时组件会重新渲染自己。

Actions只不过是从您的应用程序到商店的数据载体。

并且很难清楚地表达减速器的概念。你可以想象一个真正的商店,里面放着不同的东西以备将来使用。当东西随意放置时,商店就没有用了。一个人可能会在里面呆上几个小时,但可能找不到任何东西。简而言之,Reducers管理由操作提供的数据存储方式。

于 2019-01-27T14:17:00.063 回答
2

action、reducers 和 store 是 redux 的三个组成部分。

操作:操作是商店的唯一信息来源。动作有一个类型字段,它告诉执行什么样的动作,所有其他字段都包含信息或数据。还有另一个术语叫做动作创建者,这些是创建动作的函数。所以动作是信息(对象),动作创建者是返回这些动作的函数。

Reducers:我们已经知道,action 只告诉做什么,但不告诉怎么做,所以 reducers 是一个纯函数,它获取当前状态和 action,并返回新状态并告诉 store 怎么做。

Store:store 是保存应用程序状态的对象。

我发现这个链接特别有用 - https://www.geeksforgeeks.org/introduction-to-redux-action-reducers-and-store/

于 2021-03-16T03:54:08.510 回答
1

根据redux文档

  • store:应用程序的整个全局状态存储在一个名为 store 的对象中。
  • dispatcher:要更改状态中的某些内容,您需要调度一个动作。(这就是调度员所做的)
  • 动作:动作是一个普通的 JavaScript 对象,它描述了要对存储进行的更改类型(由 指示action.type)以及该更改所需的相关负载。
  • reducer:为了将状态和动作联系在一起,我们编写了一个名为 reducer 的函数。它只是一个(纯)函数,它将状态和动作作为参数并返回应用程序的下一个状态。

要更深入地了解,请查看此链接中的图表。

于 2021-08-16T10:40:37.570 回答