'TypeError: Cannot read properties of null when I add an interface to resolve Readonly property error
I have this:
interface State {
backgroundColor: boolean;
isLoading: boolean;
errorOccured: boolean;
acknowledgment: string;
}
export class GoodIntention extends React.Component<Props, State> {
...
onClickOfAgreement = (policy: string) => () => {
this.setState({backgroundColor: true});
...
}
render() {
return(
...
<table className={'checkbox-table ' + this.state.backgroundColor}>
<label>
<input className="checkbox-round" type="checkbox" onClick={this.onClickOfAgreement(policy)}/>
Agree and access my certificate and disc
</label>
</table>
...
}
When I run my application the browser gives this error:
TypeError: Cannot read properties of null (reading 'backgroundColor')
on line <table className={'checkbox-table ' + this.state.backgroundColor}>.
I added the State interface to resolve a Property 'backgroundColor' does not exist on type 'Readonly<{}>' error based on this. I seem to be missing something though. CAn anybody advise what that is?
Solution 1:[1]
The setState is in the onClickOfAgreement function. backgroundColor doesn't exist until the first time the user clicks.
Sources
This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.
Source: Stack Overflow
| Solution | Source |
|---|---|
| Solution 1 | Niek Bruins |
