我正在查看一个 React-Redux 应用程序,并尝试了解一切是如何工作的。
在其中一个组件中,我看到了以下几行代码:
import { bindActionCreators } from "redux";
...
function mapDispatchToProps(dispatch) {
return bindActionCreators({ fetchPhotos }, dispatch);
}
export default connect(
null,
mapDispatchToProps
)(SearchBar);
如果我将上面的代码更改为以下内容,一切仍然有效,没有任何错误:
function mapStateToProps(photos) {
return { photos };
}
export default connect(
mapStateToProps,
{ fetchPhotos }
)(SearchBar);
对我来说,我使用 connect 的方式似乎更容易理解,而且也不需要导入额外的库。
有什么理由需要进口吗绑定动作创建者并使用映射调度到属性?
我是 Redux 维护者。
是的,您展示的第二个示例使用“对象速记”形式mapDispatch https://react-redux.js.org/using-react-redux/connect-mapdispatch#defining-mapdispatchtoprops-as-an-object.
我们建议始终使用“对象速记”形式mapDispatch
,除非您有特定原因需要自定义调度行为。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)