javascript - example - react helmet
Advertencia de ReactJs: la mutación de `style` está en desuso. Considera clonarlo de antemano (2)
Recibo la siguiente advertencia:
inWarning: `div` was passed a style object that has previously been mutated. Mutating `style` is deprecated. Consider cloning it beforehand. Check the `render` of `xxx`. Previous style: {backgroundColor: "#000000"}. Mutated style: {backgroundColor: "#002a09"}.
Al intentar asignar una propiedad de estilo a un div incluso después de clonar el objeto original (también he intentado usar JSON.parse (JSON.stringify ()) sin éxito.
¿Podría decirme por qué recibo este error y cómo solucionarlo?
var clone = Object.assign({}, this.state.selectedColor);
this.styles.previewColorHover.backgroundColor = clone.hex
en mi función de renderizado:
<div ref=''previewColor'' id={''preview-color-'' + this.props.id}
style={this.styles.previewColorHover}>
</div>
Está clonando el objeto Color seleccionado pero no el objeto de estilo.
hacer algo de la siguiente manera
var clone = Object.assign({}, this.state.selectedColor);
this.styles.previewColorHover.backgroundColor = clone.hex
var style = {};
style["previewColorHover"] = {backgroundColor : clone.hex}
y use el objeto de estilo en el div como
<div ref=''previewColor'' id={''preview-color-'' + this.props.id}
style={style.previewColorHover}>
</div>
No estás clonando la previewColorHover
var clone = Object.assign({}, this.styles.previewColorHover);
this.styles.previewColorHover = clone;
this.styles.previewColorHover.backgroundColor = this.state.selectedColor.hex