Javascript TypeError:无法读取属性';行动';未定义的类型(React Redux)
因此,我正在React中使用Redux,我想在用户完成移动或调整组件大小后更新我的组件,但我得到的属性“actions”是未定义的。我可以说,他输入了函数updatePortletLocation和consol.log,这是我传递的obj1,因此他输入了函数,但没有输入操作。有人能帮我吗 以下是代码中最重要的部分:Javascript TypeError:无法读取属性';行动';未定义的类型(React Redux),javascript,reactjs,redux,react-redux,Javascript,Reactjs,Redux,React Redux,因此,我正在React中使用Redux,我想在用户完成移动或调整组件大小后更新我的组件,但我得到的属性“actions”是未定义的。我可以说,他输入了函数updatePortletLocation和consol.log,这是我传递的obj1,因此他输入了函数,但没有输入操作。有人能帮我吗 以下是代码中最重要的部分: App.js: 类应用程序扩展组件{ 建造师(道具){ 超级(道具); } updatePortletLocation(布局、子项、新项){ var res=newItem.i; v
类应用程序扩展组件{
建造师(道具){
超级(道具);
}
updatePortletLocation(布局、子项、新项){
var res=newItem.i;
var res1=res.split(“”);
var obj='[{“portletlocationid”:“+Number(res1[0])+”,“portletid”:“+Number(res1[1])+”,“dashboardid”:“+Number(res1[2])+”,“width”:“+Number(newItem.w)+”,“height”:“+Number(newItem.h)+”,“column”:“+Number(newItem.y)+”,“row”:“+Number(newItem.x)+”;
var obj1=JSON.parse(obj);
控制台日志(obj1);
this.props.actions.updatePortletLocation(obj1);
}
/*渲染部分代码:*/
返回(
{this.props.portletlocations.map((portletlocation)=>(
{portletlocation.portlet.title}
{portletlocation.portlet.description}
))}
);
/*地图发送到道具:*/
const mapDispatchToProps=(调度)=>{
返回{
操作:bindActionCreators(portletLocationsAction,dispatch)
}
}
导出默认连接(mapStateToProps、mapDispatchToProps)(应用程序)
导出函数updatePortletLocation(portletlocation){
返回(发送)=>{
取('http://localhost:8080/portletlocation/update', {
方法:“POST”,
标题:{
“接受”:“应用程序/json”,
“内容类型”:“应用程序/json”,
},
正文:JSON.stringify({
“portlet”:{
“portletId”:portletlocation[0]。id,
“id”:portletlocation[0]。portletid
},
“仪表板”:{
“dashboardId”:portletlocation[0]。dashboardId,
“id”:portletlocation[0]。仪表板id
},
“portletLocationId”:portletlocation[0]。portletLocationId,
“id”:portletlocation[0]。portletlocationid,
“列”:portletlocation[0]。列,
“行”:portletlocation[0]。行,
“高度”:portletlocation[0]。高度,
“宽度”:portletlocation[0]。宽度
})
})。然后(responsePortletLocation=>{
log(“已成功更新portlet位置!”);
调度(updatePortletLocationSuccess(responsePortletLocation));
}).catch(错误=>{
抛出(错误);
})
}
}
而不是这个.props.actions.updatePortletLocation(obj1);
,尝试
this.props.updatePortletLocation(obj1);
关于
mapDispatchToProps
:
如果传递了一个对象,则假定其中的每个函数都是Redux action creator。一个具有相同函数名但每个action creator都包装在分派调用中以便可以直接调用的对象将合并到组件的道具中
我解决了问题,检查我的问题答案…:)