I am learning React State. Here I am dynamically changing the value of according to user input using State().
import React from "react";
function App() {
var [fullName, setFullName] = React.useState({
fName: "",
lName: ""
});
return (
<div className="container">
<h1>
Hello {fullName.fName} {fullName.lName}
{/* {console.log(fullName)} */}
</h1>
<form>
/*//////////////////////////////////////////this below is correct segment and works*/
{/* <input
onChange={(event) => {
setFullName({ fName: event.target.value, lName: fullName.lName });
}}
name="fName"
placeholder="First Name"
/>
<input
onChange={(event) => {
setFullName({ fName: fullName.fName, lName: event.target.value });
}}
name="lName"
placeholder="Last Name"
/> */}
/*////////////////////////////////////////////////////////////////////////////////*/
Here setFullName seems to be taking an object as parameter, so why is the code not working when i update the value of fullName(object) and passing it into setFullName???
<input
onChange={(event) => {
fullName.fName = event.target.value;
setFullName(fullName);
}}
name="fName"
placeholder="First Name"
/>
<input
onChange={(event) => {
fullName.lName = event.target.value;
setFullName(fullName);
}}
name="lName"
placeholder="Last Name"
/>
<button>Submit</button>
</form>
</div>
);
}
export default App;
Does the input has to be a object declared inside State ??