使用connect
中的react-redux
时,如果我在mapDispatchToProps
之前mapStateToProps
,则该组件无法呈现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
的序列很重要?
答案 0 :(得分:2)
当它在react-redux documentation for connect中陈述时,它等待4个不同的参数。
如果您更改参数的顺序,您的函数将使用错误的参数触发,这将导致您的函数失败。
connect([mapStateToProps], [mapDispatchToProps], [mergeProps], [options])
将React组件连接到Redux存储。连接是一个门面 围绕connectAdvanced,为最常见的API提供方便的API 用例。
它不会修改传递给它的组件类;相反,它 返回一个新的连接组件类供您使用。