2017-05-09 155 views
1

我正在使用reactJs和材質UI進行應用程序開發。 當我在Mozilla Firefox中打開應用程序時,它給了我一個錯誤
"TypeError: CSS2Properties doesn't have an indexed property setter for '0'"
和我的導航無法正常工作。請給我任何解決方案。如何修復TypeError:CSS2Properties沒有'0'的索引屬性設置器

var CSSPropertyOperations = { 

    /** 
    * Serializes a mapping of style properties for use as inline styles: 
    * 
    * > createMarkupForStyles({width: '200px', height: 0}) 
    * "width:200px;height:0;" 
    * 
    * Undefined values are ignored so that declarative programming is easier. 
    * The result should be HTML-escaped before insertion into the DOM. 
    * 
    * @param {object} styles 
    * @param {ReactDOMComponent} component 
    * @return {?string} 
    */ 
    createMarkupForStyles: function (styles, component) { 
    var serialized = ''; 
    for (var styleName in styles) { 
     if (!styles.hasOwnProperty(styleName)) { 
     continue; 
     } 
     var styleValue = styles[styleName]; 
     if (false) { 
     warnValidStyle(styleName, styleValue, component); 
     } 
     if (styleValue != null) { 
     serialized += processStyleName(styleName) + ':'; 
     serialized += dangerousStyleValue(styleName, styleValue, component) + ';'; 
     } 
    } 
    return serialized || null; 
    }, 

    /** 
    * Sets the value for multiple styles on a node. If a value is specified as 
    * '' (empty string), the corresponding style property will be unset. 
    * 
    * @param {DOMElement} node 
    * @param {object} styles 
    * @param {ReactDOMComponent} component 
    */ 
    setValueForStyles: function (node, styles, component) { 
    if (false) { 
     ReactInstrumentation.debugTool.onHostOperation({ 
     instanceID: component._debugID, 
     type: 'update styles', 
     payload: styles 
     }); 
    } 

    var style = node.style; 
    for (var styleName in styles) { 
     if (!styles.hasOwnProperty(styleName)) { 
     continue; 
     } 
     if (false) { 
     warnValidStyle(styleName, styles[styleName], component); 
     } 
     var styleValue = dangerousStyleValue(styleName, styles[styleName], component); 
     if (styleName === 'float' || styleName === 'cssFloat') { 
     styleName = styleFloatAccessor; 
     } 
     if (styleValue) { 
     style[styleName] = styleValue; 
     } else { 
     var expansion = hasShorthandPropertyBug && CSSProperty.shorthandPropertyExpansions[styleName]; 
     if (expansion) { 
      // Shorthand property that IE8 won't like unsetting, so unset each 
      // component to placate it 
      for (var individualStyleName in expansion) { 
      style[individualStyleName] = ''; 
      } 
     } else { 
      style[styleName] = ''; 
     } 
     } 
    } 
    } 

}; 

得到了「style [styleName] = styleValue;」的錯誤

回答

0

在陣營(不做出反應母語),合併的樣式可以使用JavaScript函數Object.assign()

var textStyles = Object.assign({}, 
styles.tile, 
tile.position, 
styles.emptytile, 
); 
<div key={tile.id} style={textStyles}> 

檢查你是如何使用的樣式。

+0

我已經使用風格--- 「const的樣式= { menuItemStyle:{ \t fontSize的:12, }, listItemStyle:{ \t fontSize的:12, }, }; menuItemStyle = {styles.menuItemStyle}' –

相關問題