Reputation: 43
FirstName:
handleFirstName(e) {
let value = e.target.value;
this.setState(prevState => ({
newUser: {
...prevState.newUser,
name: value
}
}));
}
LastName:
handleLastName(e) {
let value = e.target.value;
this.setState(prevState => ({
newUser: {
...prevState.newUser,
name: value
}
}));
}
How to concatenate first name and last Name in React js ?can someone help me what will be the method for fullName?
Upvotes: 1
Views: 6515
Reputation: 9
Here's maybe what you're looking for :
this.setState(prevState => ({ fullName: [...prevState.fullName, { firstName: "", lastName: "" }]
Note that fullName should be like this :
fullName: [{firstName: "", lastName: ""}],
Upvotes: 0
Reputation: 722
There are several ways of getting the fullName, other than adding into name in your method you can add into firstName and lastName, and then write a method getFullName()
to access it, also make sure you have the newUser defined in the state
import React, { Component } from "react";
class User extends Component {
state = {
newUser: { firstName: "", lastName: "" }
};
handleFirstName(e) {
let value = e.target.value;
this.setState(prevState => ({
newUser: {
...prevState.newUser,
firstName: value
}
}));
}
handleLastName(e) {
let value = e.target.value;
this.setState(prevState => ({
newUser: {
...prevState.newUser,
lastName: value
}
}));
}
getFullName() {
return this.state.newUser.firstName + " " + this.state.newUser.lastName;
}
render() {
return (
<div>
<input
type="text"
onChange={this.handleFirstName.bind(this)}
placeholder="Enter first Name"
/>
<input
type="text"
onChange={this.handleLastName.bind(this)}
placeholder="Enter last Name"
/>
FullName: {this.getFullName()}
</div>
);
}
}
export default User;
You can play it here https://codesandbox.io/s/z6422kkvx4
Upvotes: 3