Tell us what’s happening:
Typing in the input element should update the state and the value of the input, and the
p
element should render this state as you type.
It doesn’t show the text, instead it’s an error.
I was looking at the hint and then found out I didn’t need to write
this.setState(state => ({
input: event.target.value
}))
Instead I could just write
this.setState({
input: event.target.value
})
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(event) {
this.setState(state => ({
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}></input>
{ /* Change code above this line */}
<h4>Controlled Input:</h4>
<p>{this.state.input}</p>
</div>
);
}
};
**Your browser information:**
User Agent is: Mozilla/5.0 (Macintosh; Intel Mac OS X 11_2_3) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/89.0.4389.90 Safari/537.36
.
Challenge: Create a Controlled Input
Link to the challenge: