Por que meu objeto de importação (let) é somente leitura? React JS
Aqui está minha interface para css (um componente, um myStyle.ts):
import IApp from "../../interfaces/global-interfaces";
export let myStyle: IApp.MyMinimumCssInterface = {
display: "block",
background: "#559d96",
height: "100px",
textAlign: "center",
};
Também preciso em myStyle.d.ts:
export let myStyle: string;
eu também tento:
export let myStyle: object;
export let myStyle: {};
E tudo funciona bem.
Mas quando eu quero mudar css eu tenho:
TypeError: tentativa de atribuir à propriedade readonly.
Me deixa louco reagir.
Aqui faz parte da aula:
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);
}
Isso é renderizado:
<div style={myStyle} ref={this.myRef} >
Esta é a interface:
declare namespace IApp {
export interface MyMinimumCssInterface extends CSSProperties {
display: string;
}