react組件中調用dispatch,react組件中獲取不到dispatch

初次學react,我在this.props中獲取不到dispatch方法。爲什麼

@connect的信息科查看官網學習鏈接

原因在於mapDispatchToProps已經傳入了
```js
//方法注入
const mapDispatchToProps = (dispatch) => {
  return {
    addClick: () => {
      dispatch({
        type: `transaction/add`,
      });
    },
  };
};
@connect(mapStateToProps, mapDispatchToProps)
class ProductList extends React.Component {
//...
  constructor(props) {
    super(props);
  }
  componentDidMount(){
		console.log(this.props);
		const {dispatch } = this.props;//獲取不到dispatch方法
		//事件
		this.props.addClick();
  }
}

如果寫成如下

@connect(mapStateToProps)
class ProductList extends React.Component {
//...
  constructor(props) {
    super(props);
  }
  componentDidMount(){
	console.log(this.props);
	const {dispatch } = this.props;//可獲取到dispatch方法
    // 直接調用
	dispatch({
        type: `transaction/add`,
      });
  }
}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章