我们在连接的组件中获得了调度函数ref,但是当我们在connect函数中使用action creator参数时,它将不会像以前那样返回调度函数。
情况1。仅具有连接功能的第一个参数。
import React, { Component } from 'react';
import { connect } from 'react-redux';
class App extends Component {
render() {
console.log('this.props',this.props)
return (
<div className="App">
App
</div>
);
}
}
const mapStateToProps = (state) => {
return state
}
export default connect(mapStateToProps)(App);
情况2。也使用connect的第二个参数
import React, { Component } from 'react';
import { connect } from 'react-redux';
import { setData } from './actions'
class App extends Component {
render() {
console.log('this.props',this.props)
return (
<div className="App">
App
</div>
);
}
}
const mapStateToProps = (state) => {
return state
}
export default connect(mapStateToProps,{ setData })(App);
我希望在第二种情况下,派发函数ref也应列在props中,但不会发生。
控制台输出: 情况1.调度显示在道具https://prnt.sc/ne0fpb
中情况2。道具https://prnt.sc/ne0djb中没有派遣进入
所以请帮助我为什么我在第二种情况下没有得到调度功能?
答案 0 :(得分:1)
第二个connect
参数(mapDispatchToProps
)默认为dispatch => ({ dispatch })
函数。指定默认值时不应用。
由于mapDispatchToProps
用于提供所有必需的调度程序功能作为组件道具,因此不需要dispatch
道具。