Tell us what’s happening:
Describe your issue in detail here.
Could somebody me figure it out, I completed all the tasks required for this test, but still get an error, where did I miss something?
Error message: The DisplayMessages
component should render a div
containing an h2
element, a button
element, a ul
element, and li
elements as children.
**Your code so far**
class DisplayMessages extends React.Component {
constructor(props) {
super(props);
this.state = {
input: '',
messages: []
}
// Add handleChange() and submitMessage() methods here
this.handleChange=this.handleChange.bind(this);
this.submitMessage=this.submitMessage.bind(this);
}
handleChange(event){
this.setState({
input:event.target.value,
messages:this.state.messages
})
}
submitMessage(){
this.setState({
input:'',
messages: [...this.state.messages,this.state.input]
})
}
render() {
return (
<div>
<h2>Type in a new Message:</h2>
{ /* Render an input, button, and ul below this line */ }
<input value={this.state.input} onChange ={this.handleChange}/>
<button onClick={this.submitMessage}>Submit!</button>
<ul>
{this.state.messages.map((x,i)=>{
return <li key={i}>{x}</li>
})}
</ul>
<div>{this.state.input}</div>
{ /* Change code above this line */ }
</div>
);
}
};
**Your browser information:**
User Agent is: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/92.0.4515.131 Safari/537.36
Challenge: Manage State Locally First
Link to the challenge: