我是新来的反应者/ redux。我试图弄清楚redux中的所有部分如何相互作用。给我带来麻烦的一件事是了解动作与reduces,store之间的关系。
答案 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)
答案 2 :(得分:2)
想想就很简单:
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/