了解如何在react-redux中使用mapDispatchToProps?

时间:2019-04-14 02:08:48

标签: reactjs react-redux

通常,当我使用react.js和react-redux创建项目时,我会与其他组件文件分开创建一个动作文件,然后将具有connect函数的action-creator导入到这样的组件中。

import { deletePost } from "../../actions"; 

connect(mapStateToProps, { deletePost })(aComponent); 

但是当我发现mapDispatchToProps函数的存在之后,直接从组件内部将操作分配给reducer更为方便。

const mapDispatchToProps = (dispatch) => {
 return {
  deletePost: (id) => { dispatch({ type: 'DELETE_POST', id: id }) }
 }
}

connect(mapStateToProps, mapDispatchToProps)(aComponent); 

在组件内部使用mapDispatchToProps函数是否正确?

1 个答案:

答案 0 :(得分:2)

正确,这是将onClick集成到组件中的正确方法。

我个人发现 onClick = () => { this.setState({ showOther: true }); console.log(this.ref, "ref"); this.ref.current.focus(); // change it }; 使您的组件可以做什么清晰可见。很明显,您的组件能够调度各种操作。

典型结构为:

mapDispatchToProps()