有人可以解释一下 why/how 您不需要在动作创建器中为同步函数分派动作吗?

Can someone explain why/how you don't need to dispatch an action in the action creator for synchronous functions?

所以我知道,基本上,redux-thunk 作用于 return 一个函数而不是动作创建者中的一个动作,允许我们然后向状态发送一些东西(例如当承诺被解决时).我不明白的是,为什么在使用 redux-thunk 时,我们不需要在组件中显式 mapDispatchToProps 并分派该操作(我被告知 redux-thunk 已经在分派)。谁能解释一下这是如何工作的?

您确实需要 mapDispatchToProps 让组件首先启动操作。无论是同步还是异步都无所谓。

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

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