Can anyone help me, I am getting this error "App.js:69 Uncaught TypeError: Cannot read properties of undefined (reading 'setState') at onInputChange (App.js:69:1)" Code Snippet
2 Answers
Few ways to go about this.
Since you're not using arrow function you need to bind your handlers
constructor() {
...code
this.onInputChange = this.onInputChange.bind(this)
this.onButtonSubmit = this.onInputChange.bind(this)
}
option 2 - switch your function to arrow function
onInputChange = (event) => {
...code
}
onButtonSubmit = () => {
...code
}
Here's a helpful post to help you understand why
Comments
You can either change onInputChange method to use arrow function or you need to bind this for the onInputChange function.
Using arrow function:
onInputChange = (event) => {
this.setState({ input: event.target.value });
};
Using bind:
<ImageLinkForm onInputChange={this.onInputChange.bind(this)} onButtonSubmit={this.onButtonSubmit.bind(this)} />