动作,减速器和在redux中存储之间有什么区别?

时间:2019-01-27 05:24:47

标签: react-native react-redux action store reduce

我是新来的反应者/ redux。我试图弄清楚redux中的所有部分如何相互作用。给我带来麻烦的一件事是了解动作与reduces,store之间的关系。

5 个答案:

答案 0 :(得分:2)

商店 保存应用程序状态数据的对象

减速器 返回某些状态数据的函数。由操作const routes: Routes = [ { path: 'login', component: LoginComponent }, { path: '', component: MyLayout, canActivate: [AuthGuard], children: [ { path: 'dashboard', children: [ { path: '', component: DashboardComponent }, ] }, { path: 'publisher', loadChildren: './modules/publisher/publisher.module#PublisherModule' } ], resolve: { data: AuthenticatedAppResolver } }, ]

触发

操作 告诉减速器如何更改状态的对象。它必须包含一个type属性。它可以选择包含type属性

答案 1 :(得分:2)

  • 商店->全球化状态
  • 操作->您要执行的操作,例如:事件点击
  • Reducer ->描述操作如何将状态转换为下一个状态。 它检查发生了哪些操作,并根据该操作更新商店。
  • 调度->我们执行操作的方式。例如:将动作分配给减速器。然后,reducer将检查该怎么做,并更新商店。

答案 2 :(得分:2)

想想就很简单:

  • Store - 保存您的应用程序使用的所有数据。
  • Reducer - 是在数据接收到动作时对其进行操作。
  • Action - 告诉 reducer 操作存储数据,它带有名称和(不是必需的)一些数据。

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

答案 3 :(得分:1)

想象一下您希望基于类的组件之间共享数据的情况。他们甚至可能带来数据更改。一个人可以以道具的形式向其他人提供数据。但是要跟踪道具名称和数据结构非常困难。

商店实际上简化了这些工作。您可以通过这样一种方式来设置应用程序体系结构:组件将从供应商那里获取数据,这就是所谓的 Store 。实际上,这种机制非常聪明,因为组件全是耳朵,所以当数据更改时,组件将重新呈现自身。

动作只是从应用程序到商店的数据载体。

很难阐明减速器的概念。您可能会想到一家真正的商店,里面存放着各种东西以备将来使用。随意放置东西时,商店没有用。一个人可能会花几个小时在里面,但可能找不到任何东西。简单地说, Reducers 可以管理操作提供的数据在存储中的存储方式。

答案 4 :(得分:1)

actions、reducers 和 store 是 redux 的三个构建块。

操作:操作是商店的唯一信息来源。 Actions 有一个 type 字段,用于说明要执行的操作类型,所有其他字段包含信息或数据。还有一个术语叫做 Action Creators,它们是创建动作的函数。所以动作是信息(对象),动作创建者是返回这些动作的函数。

Reducers:正如我们已经知道的,动作只告诉做什么,但不告诉怎么做,所以减速器是获取当前状态和动作并返回当前状态和动作的纯函数新状态并告诉商店怎么做。

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

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