通常,当我使用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函数是否正确?
答案 0 :(得分:2)
正确,这是将onClick
集成到组件中的正确方法。
我个人发现 onClick = () => {
this.setState({ showOther: true });
console.log(this.ref, "ref");
this.ref.current.focus(); // change it
};
使您的组件可以做什么清晰可见。很明显,您的组件能够调度各种操作。
典型结构为:
mapDispatchToProps()