@@ -4,20 +4,46 @@ function App() {
4
4
const [ contact , setContact ] = useState ( {
5
5
fName : "" ,
6
6
lName : "" ,
7
- email : ""
7
+ email : "" ,
8
8
} ) ;
9
9
10
+ function handleChange ( event ) {
11
+ const { name, value} = event . target ;
12
+
13
+ setContact ( ( prevValue ) => {
14
+ if ( name === "fName" ) {
15
+ return {
16
+ fName : value ,
17
+ lName : prevValue . lName ,
18
+ email : prevValue . email ,
19
+ } ;
20
+ } else if ( name === "lName" ) {
21
+ return {
22
+ fName : prevValue . fName ,
23
+ lName : value ,
24
+ email : prevValue . email ,
25
+ } ;
26
+ } else if ( name === "email" ) {
27
+ return {
28
+ fName : prevValue . fName ,
29
+ lName : prevValue . lName ,
30
+ email : value ,
31
+ } ;
32
+ }
33
+ } ) ;
34
+ }
35
+
10
36
return (
11
37
< div className = "container" >
12
38
< h1 >
13
39
Hello { contact . fName } { contact . lName }
14
40
</ h1 >
15
41
< p > { contact . email } </ p >
16
- < form >
17
- < input name = "fName" placeholder = "First Name" />
18
- < input name = "lName" placeholder = "Last Name" />
19
- < input name = "email" placeholder = "Email" />
20
- < button > Submit</ button >
42
+ < form onChange = { handleChange } >
43
+ < input name = "fName" placeholder = "First Name" value = { contact . fName } />
44
+ < input name = "lName" placeholder = "Last Name" value = { contact . lName } />
45
+ < input name = "email" placeholder = "Email" value = { contact . email } />
46
+ < button type = "submit" > Submit</ button >
21
47
</ form >
22
48
</ div >
23
49
) ;
0 commit comments