0

I have the following event handler. And the problem is e is not available in callback function. How can I fix this?

handleChange(e){
    this.setState((prevState, props) => ({
      ...prevState,
      university: {
        ...prevState.university,
        [e.target.name]: e.target.value // error line
      }
    }));
}

TypeError: Cannot read property 'name' of null

2 Answers2

1

Here is the solution.

handleChange({ target: { name, value } }){
    this.setState((prevState, props) => ({
      ...prevState,
      university: {
        ...prevState.university,
        [name]: value
      }
    }));
  }
0

Because there is no name property in event.target.
Create a "value" state and initialize with event.target.value.

Engineer
  • 1,243
  • 11
  • 18