Here is my interface for css (one component one myStyle.ts) :
import IApp from "../../interfaces/global-interfaces";
export let myStyle: IApp.MyMinimumCssInterface = {
display: "block",
background: "#559d96",
height: "100px",
textAlign: "center",
};
I also need in myStyle.d.ts :
export let myStyle: string;
i also try :
export let myStyle: object;
export let myStyle: {};
And everything work nice .
But when i wanna to change css i got :
TypeError: Attempted to assign to readonly property.
Make me crazy react .
Here is part of class :
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);
}
This is render :
<div style={myStyle} ref={this.myRef} >
This is interface :
declare namespace IApp {
export interface MyMinimumCssInterface extends CSSProperties {
display: string;
}