value:
- The value represents the current value of an HTML element. It is commonly used in input fields (e.g., text inputs, checkboxes, radio buttons).
- For example, when a user types text into an input field, the value of that field changes.
- In React, value is often used to manage state using the useState hook.
name:
- The name attribute represents the name of an HTML element. It is commonly used in form elements.
- For instance, in a form with multiple input fields, each field can have a unique name.
- When sending data to a server, the name attribute helps distinguish and process the data.
In the code, the handleChange function is called when the value of an input field changes. Depending on the name attribute of the input field, it updates the corresponding property (fName or lName) in the fullName state object.
Example1
import React, { useState } from "react";
function App() {
const [fullName, setFullName] = useState({
fName: "",
lName: ""
});
function handleChange(event) {
const { value, name } = event.target;
setFullName(prevValue => {
if (name === "fName") {
return {
fName: value,
lName: prevValue.lName
};
} else if (name === "lName") {
return {
fName: prevValue.fName,
lname: value
};
}
});
}
return (
<div className="container">
<h1>
Hello {fullName.fName} {fullName.lName}
</h1>
<form>
<input
name="fName"
onChange={handleChange}
placeholder="First Name"
value={fullName.fName}
/>
<input
name="lName"
onChange={handleChange}
placeholder="Last Name"
value={fullName.lName}
/>
<button>Submit</button>
</form>
</div>
);
}
export default App;
Example2
import React, { useState } from "react";
function App() {
const [contact, setContact] = useState({
fName: "",
lName: "",
email: ""
});
function handleChange(event) {
const { name, value } = event.target;
setContact(prevValue => {
if (name === "fName") {
return {
fName: value,
lName: prevValue.lName,
email: prevValue.email
};
} else if (name === "lName") {
return {
fName: prevValue.fName,
lName: value,
email: prevValue.email
};
} else if (name === "email") {
return {
fName: prevValue.fName,
lName: prevValue.lName,
email: value
};
}
});
}
return (
<div className="container">
<h1>
Hello {contact.fName} {contact.lName}
</h1>
<p>{contact.email}</p>
<form>
<input
onChange={handleChange}
value={contact.fName}
name="fName"
placeholder="First Name"
/>
<input
onChange={handleChange}
value={contact.lName}
name="lName"
placeholder="Last Name"
/>
<input
onChange={handleChange}
value={contact.email}
name="email"
placeholder="Email"
/>
<button>Submit</button>
</form>
</div>
);
}
export default App;
'프로그래밍 > Web' 카테고리의 다른 글
Managing a Component Tree - Component to Component, Function to Function (0) | 2024.05.14 |
---|---|
ES6 Spread Operator - How to Simplify Your Code (0) | 2024.05.13 |
Difference between Class and Functional Component (0) | 2024.05.09 |
Event Handling in React - How to Handle React Forms (0) | 2024.05.08 |
Javascript ES6 Object & Array Destructuring (0) | 2024.05.07 |