gpt4 book ai didi

redux - react-redux:当 mapDispatchToProps 是对象时,调度操作如何工作?

转载 作者:行者123 更新时间:2023-12-04 02:58:46 35 4
gpt4 key购买 nike

在使用 react-redux 期间,我遇到了一个关于 mapDispatchToProps 的混淆点,当它是一个对象而不是函数时。

例如,在我的项目中,我有以下 action creators:

export const incrementBy2 = () => ({
type: INCREMENT_REQUESTED_2,
})

在我的组件中,我导入了 action creator 并将其设置为 mapDispatchToProps:

import { incrementBy2 } from '../actions'
import { connect } from 'react-redux'

// define the Home component, omit the details
const Home = props => ()

// omit the details
const mapStateToProps = state => ()

const mapDispatchToProps = {
incrementBy2
}

export default connect(
mapStateToProps,
mapDispatchToProps
)(Home)

然后在组件中,我可以通过 props.incrementBy2 访问 Action 创建器,它在我的项目中也运行良好。

我的困惑点是,incrementBy2 只是一个 Action 创建器,那么调度是如何发生的以及发生在何处?

最佳答案

根据 the official docs :

[mapDispatchToProps(dispatch, [ownProps]): dispatchProps] (Object or Function): If an object is passed, each function inside it is assumed to be a Redux action creator. An object with the same function names, but with every action creator wrapped into a dispatch call so they may be invoked directly, will be merged into the component’s props.

也可以关注the source code .您可以在那里查看实现细节。

关于redux - react-redux:当 mapDispatchToProps 是对象时,调度操作如何工作?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51257013/

35 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com