¿Por qué mi objeto de importación (let) es de solo lectura? Reaccionar JS
Aquí está mi interfaz para css (un componente uno myStyle.ts):
import IApp from "../../interfaces/global-interfaces";
export let myStyle: IApp.MyMinimumCssInterface = {
display: "block",
background: "#559d96",
height: "100px",
textAlign: "center",
};
También necesito en myStyle.d.ts:
export let myStyle: string;
también intento:
export let myStyle: object;
export let myStyle: {};
Y todo funciona bien.
Pero cuando quiero cambiar el CSS, tengo:
TypeError: se intentó asignar una propiedad de solo lectura.
Hazme loco reaccionar.
Aquí es parte de la clase:
export class Header extends React.Component< HeaderI, HeaderStateI , any > {
public myEvent = Services.CreateEvent(myEventList.iNeedSomeUpdate, {self: this} );
public myRef: React.RefObject<HTMLDivElement>;
public myDOM: Element | Text;
constructor(args: any) {
super(args);
this.state = { enabledComponent : true,
visibility: true,
debugView: false,
background: args.background,
elements: [],
};
myStyle.background = this.state.background;
this.myRef = React.createRef();
this.add = this.add.bind(this);
}
Esto es render:
<div style={myStyle} ref={this.myRef} >
Esta es la interfaz:
declare namespace IApp {
export interface MyMinimumCssInterface extends CSSProperties {
display: string;
}