bindActionCreators简要概述
bindActionCreators是redux的一个自带函数,作用是将单个或多个ActionCreator转化为dispatch(action)的函数集合形式。
开发者不用再手动dispatch(actionCreator(type)),而是可以直接调用方法。
可以实现简化书写,减轻开发的负担。
例如:
return {
// 当触发addNews时,dispatch会执行异步action
addNews(){
dispatch(async (a)=>{
// console.log(a == dispatch);// false dispatch
await axios.post("http://127.0.0.1/news",{
newsTitle:this.refs.newsTitle.value,
newsHref:this.refs.newsHref.value
});
this.props.getNews();
})
},
getNews(){
dispatch(async (b)=>{
console.log(b)
// 获取新闻列表,并将新闻列表放到仓库状态中。
const {data} = await axios.get("http://127.0.0.1/news");
// dispatch(changeNewsList(data.newsList))
dispatch(changeNewsList(data.newsList))
})
}
}
利用bindActionCreators:
return {
newsList:state.news.newsList
}
}
// 操作状态。
function mapDispatchToProps(dispatch) {
return bindActionCreators(newsCreatore,dispatch);
}
通过actions对象调用方法,就可以dispatch所有的action
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步