I am new to REACT and I have been practicing a lot for the past week. I have a VUE background. I have created simple React form with just two fields. I kind of know how state and binding works. I am having a hard time rendering the values in my two fields. Here's what I have so far:
class HelloWorld extends React.Component{
constructor(){
super()
this.state = {
fname: '',
lname: ''
}
this.handleClick = this.handleClicl.bind(this)
this.handleFname = this.handleFname.bind(this)
this.handleLname = this.handleLname.bind(this)
}
handleClick(){
console.log(this.state.fname);
console.log(this.state.lname);
}
handleFname(event){
this.setState({fname:event.target.value})
}
handleLname(event){
this.setState({lname:event.target.value})
}
render(){
return(
<div>
<label for="fname">First name:</label><br />
<input type="text" onChange={this.handleFname} id="fname" name="fname" value={this.state.fname} /><br />
<label for="lname">Last name:</label><br />
<input type="text" onChange={this.handleLname} id="lname" name="lname" value={this.state.lname} /><br /><br />
<button onClick={this.handleClick}>Submit</button>
</div>
)
}
}
ReactDOM.render(
<HelloWorld />,
document.getElementById("root")
)
What am I doing wrong? Please keep it very simple. No need to add es6. Simple is the only way I can understand at this point.
Here's the codepen Thanks!