在数组中传递数组
Passing Arrays within Arrays
我正在使用 React,这里是我传递组件的缩小的默认道具集:
getDefaultProps : function () {
return (
{
toolbarAttr : [
firstToolbar : [
{
ctrlId : 'ctrlNewTem',
ctrlClass : 'ctrl',
ctrlDataAction : '',
ctrlDataTooltip : 'New Template'
}
],
secondToolbar : [
{
ctrlId : 'ctrlGrpSelect',
ctrlClass : 'ctrl',
ctrlDataAction : '',
ctrlDataTooltip : 'Select / Group Select'
},
{
ctrlId : 'ctrlDrawShapes',
ctrlClass : 'ctrl',
ctrlDataAction : '',
ctrlDataTooltip : 'Draw Shapes'
}
],
thirdToolbar : [
{
ctrlId : 'ctrlZoomOut',
ctrlClass : 'ctrl',
ctrlDataAction : '',
ctrlDataTooltip : 'Zoom Out'
},
{
ctrlId : 'ctrlPan',
ctrlClass : 'ctrl',
ctrlDataAction : '',
ctrlDataTooltip : 'Pan'
}
],
fourthToolbar : [
{
ctrlId : 'ctrlTemSide',
ctrlClass : 'ctrl',
ctrlDataAction : '',
ctrlDataTooltip : 'Front / Back Template'
}
]
]
});
},
简而言之,我有一个道具对象,它有一个数组,由很多子数组组成,在子数组中,我有对象。这被报告为 'syntax error',为什么?
- 正在 'firstToolbar' 数组对象上报告 'syntax error'。
另外,这是一个好的设计模式吗?将不胜感激。
谢谢
firstToolBar
不能直接进入 toolbarAttr
因为 toolbarAttr
是数组而不是对象。
让它成为一个对象
toolbarAttr : { //replace [ with {
... //all the other props here
} // replace ] with }
这将更具可读性:
getDefaultProps : function () {
var toolbarAttr = [];
var firstToolbar = [];
firstToolBar.push('ctrlId', 'ctrlDrawShapes');
....
toolBarAttr.push('firstToolBar', firstToolBar);
return toolBarAttr;
}
我正在使用 React,这里是我传递组件的缩小的默认道具集:
getDefaultProps : function () {
return (
{
toolbarAttr : [
firstToolbar : [
{
ctrlId : 'ctrlNewTem',
ctrlClass : 'ctrl',
ctrlDataAction : '',
ctrlDataTooltip : 'New Template'
}
],
secondToolbar : [
{
ctrlId : 'ctrlGrpSelect',
ctrlClass : 'ctrl',
ctrlDataAction : '',
ctrlDataTooltip : 'Select / Group Select'
},
{
ctrlId : 'ctrlDrawShapes',
ctrlClass : 'ctrl',
ctrlDataAction : '',
ctrlDataTooltip : 'Draw Shapes'
}
],
thirdToolbar : [
{
ctrlId : 'ctrlZoomOut',
ctrlClass : 'ctrl',
ctrlDataAction : '',
ctrlDataTooltip : 'Zoom Out'
},
{
ctrlId : 'ctrlPan',
ctrlClass : 'ctrl',
ctrlDataAction : '',
ctrlDataTooltip : 'Pan'
}
],
fourthToolbar : [
{
ctrlId : 'ctrlTemSide',
ctrlClass : 'ctrl',
ctrlDataAction : '',
ctrlDataTooltip : 'Front / Back Template'
}
]
]
});
},
简而言之,我有一个道具对象,它有一个数组,由很多子数组组成,在子数组中,我有对象。这被报告为 'syntax error',为什么?
- 正在 'firstToolbar' 数组对象上报告 'syntax error'。
另外,这是一个好的设计模式吗?将不胜感激。
谢谢
firstToolBar
不能直接进入 toolbarAttr
因为 toolbarAttr
是数组而不是对象。
让它成为一个对象
toolbarAttr : { //replace [ with {
... //all the other props here
} // replace ] with }
这将更具可读性:
getDefaultProps : function () {
var toolbarAttr = [];
var firstToolbar = [];
firstToolBar.push('ctrlId', 'ctrlDrawShapes');
....
toolBarAttr.push('firstToolBar', firstToolBar);
return toolBarAttr;
}