在使用react-redux
的connect
时,如果我在mapStateToProps
之前进行mapDispatchToProps
,则该组件无法说明dispatch is not a function
:
function mapDispatchToProps(dispatch) {
return {
getData: () => {
dispatch(getSomething())
}
}
}
function mapStateToProps(state) {
return {
somevalue: state.somevalue,
}
}
export default connect( mapStateToProps, mapDispatchToProps ) ( Comp );
//export default connect( mapDispatchToProps, mapStateToProps ) ( Comp ); THIS FAILS
为什么mapStateToProps
和mapDispatchToProps
的序列很重要?
在连接的react-redux文档中状态时,它等待4个不同的参数。
如果更改参数顺序,您的功能将用错误的参数触发,这将导致您的功能失败。
connect([mapStateToProps], [mapDispatchToProps], [mergeProps], [options])
将React组件连接到Redux Store。连接是一个外墙 在ConnectAdanced附近,为最常见的API提供方便的API 用例。
它不会修改传递给它的组件类;相反,它 返回一个新的连接组件类供您使用。