redux的bindActionCreators
bindActionCreators是redux的一个API,作用是将单个或多个ActionCreator转化为dispatch(action)的函数集合形式。
开发者不用再手动dispatch(actionCreator(type)),而是可以直接调用方法。
目的就是简化书写,减轻开发负担。
例如:
actionCreator.js如下:
export function addTodo(text) { return { type: 'ADD_TODO', text } } export function removeTodo(id) { return { type: 'REMOVE_TODO', id } }
导出的对象为:
{ addTodo : text => { type: 'ADD_TODO', text }, removeTodo : id => { type: 'REMOVE_TODO', id } }
是以函数名为key,函数为value的一个对象
经过bindActionCeators的处理变为:
{ addTodo : text => dispatch(addTodo('text')); removeTodo : id => dispatch(removeTodo('id')); }
是以函数名为key,内部执行dispatch(action)的函数为value的对象,用这个对象就可以直接调用方法了,不必手动dispatch
如果传入单个actionCreator,则返回的是一个包裹dispatch的函数,而不是一个对象。
通常用在mapDispatchToProps中,向组件传递action方法:
export default connect( (state,props) => { return {data: state.article.data,currentCate:fCurrentCate(state,props)} }, dispatch => { return {actions: bindActionCreators(acts,dispatch)} } )(Article);
通过actions对象调用方法,就可以dispatch所有的action
参考:https://segmentfault.com/a/1190000011783611
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· AI技术革命,工作效率10个最佳AI工具