React - Create a Controlled Input

Tell us what’s happening:

Hi team,

I am bit stuck with this exercise, the method that I came up with is the following, but when I type the input box dissapears.

handleChange(e) {
this.setState(state => {
return this.state.input = this.e.target.value
})
}

Thank you,

Your code so far

class ControlledInput extends React.Component {
  constructor(props) {
    super(props);
    this.state = {
      input: ''
    }
    // Change code below this line
this.handleChange = this.handleChange.bind(this)
    // Change code above this line
  }
  // Change code below this line
 handleChange(e) {
    this.setState(state => {
      return this.state.input = this.e.target.value
    })
  }

  handleChange(event) {
    this.setState({
      input: event.target.value
    });
}

      
  // Change code above this line
  render() {
    return (
      <div>
        { /* Change code below this line */}
<input value={this.state.input} onChange={this.handleChange} />
        { /* Change code above this line */}
        <h4>Controlled Input:</h4>
        <p>{this.state.input}</p>
      </div>
    );
  }
};

Your browser information:

User Agent is: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/126.0.0.0 Safari/537.36

Challenge Information:

React - Create a Controlled Input

You have handleChange twice, the first is wrong, the second is correct.

Remove this one:

 handleChange(e) {
    this.setState(state => {
      return this.state.input = this.e.target.value
    })
  }