因此,我知道,从根本上说,redux-thunk的作用是返回一个函数而不是动作创建者中的动作,从而使我们能够将某些东西分派给状态(例如,解决诺言时)。我不明白的原因是,为什么在使用redux-thunk时,我们不需要在组件中显式mapDispatchToProps并分派该操作(有人告诉我redux-thunk已经在分派)。谁能解释一下这是如何工作的?

最佳答案

您确实需要mapDispatchToProps才能使组件首先启动操作。无论是同步还是异步都没有关系。

但是使用异步操作时,如您所指出的,通常会兑现承诺,组件不会参与处理结果。取而代之的是,您在同一动作创建者函数中分派一个动作(通常以_SUCCESS或_RECEIVE或_SAVE等结尾的动作),reduce可以查看并更改其redux状态。

反过来,这会通过mapStateToProps将更改的道具馈入组件。只有这样,组件才再次参与。

关于javascript - 有人可以解释为什么/不需要为同步功能在 Action 创建器中分派(dispatch) Action 吗?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/49140818/

10-10 02:08