有人可以解释为什么/你不需要在动作创建者中为同步功能发送动作?

时间:2018-03-06 22:08:10

标签: javascript reactjs redux redux-thunk

所以我非常基本地知道,redux-thunk可以在动作创建器中返回一个函数而不是一个动作,然后允许我们向状态派遣一些东西(例如,当一个promise被解决时)。我不明白为什么,当使用redux-thunk时,我们不需要在组件中显式mapDispatchToProps并发送该动作(我被告知redux-thunk已经在调度)。任何人都可以解释这是如何工作的吗?

1 个答案:

答案 0 :(得分:1)

您需要mapDispatchToProps才能让组件首先启动操作。它的同步或异步并不重要。

但是对于异步操作,正如您所指出的那样,承诺经常被解决,组件不会涉及处理结果。相反,你会在同一个动作创建函数中发送一个动作(通常以_SUCCESS或_RECEIVE或_SAVE或其他东西结尾),减速器会看到并更改redux状态。

这又通过mapStateToProps将更改的道具提供给组件。只有然后是再次涉及的组件。