簡體   English   中英

在數組內傳遞數組

[英]Passing Arrays within Arrays

我正在使用React,這是一組縮小的默認傳遞給組件的Im:

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'
                }
            ]
        ]
    });
},

簡而言之,我有一個props對象,該對象具有一個由許多子數組組成的數組,在子數組中,我有對象。 這被報告為“語法錯誤”,為什么?

  • 在“ firstToolbar”數組對象上報告“語法錯誤”。

另外,這是一個好的設計模式嗎? 建議將不勝感激。

謝謝

由於toolbarAttr是一個數組,而不是對象,因此firstToolBar不能直接進入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;
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM