1- import React , { useState , Fragment } from 'react' ;
2- import UserTable from './tables/UserTable' ;
3- import AddUserForm from './forms/AddUserForm' ;
4- import EditUserForm from './forms/EditUsersForm' ;
1+ import React , { useState , Fragment } from "react" ;
2+ import UserTable from "./tables/UserTable" ;
3+ import AddUserForm from "./forms/AddUserForm" ;
4+ import EditUserForm from "./forms/EditUsersForm" ;
5+ import Button from "react-bootstrap/Button" ;
56
67const App = ( ) => {
78 const usersData = [
8- { id :1 , name :' Nick' , username :' ebb_n_flow' } ,
9- { id :2 , name :' Shane O.' , username :' too-tired' } ,
10- { id :3 , name :' Shawna' , username :' rootsrevival' } ,
11- { id :4 , name :' Sheena, W.P.' , username :' sheenaWp312' }
12- ]
9+ { id : 1 , name : " Nick" , username : " ebb_n_flow" } ,
10+ { id : 2 , name : " Shane O." , username : " too-tired" } ,
11+ { id : 3 , name : " Shawna" , username : " rootsrevival" } ,
12+ { id : 4 , name : " Sheena, W.P." , username : " sheenaWp312" }
13+ ] ;
1314
15+ const initialFormState = { id : null , name : "" , username : "" } ;
1416
15- const initialFormState = { id :null , name :'' , username :'' }
17+ // set state Hooks syntax - you define the two params in [x, y].
18+ // useState comes from React import for handling state
1619
17- // set state Hooks syntax - you define the two params in [x, y].
18- // useState comes from React import for handling state
20+ const [ users , setUsers ] = useState ( usersData ) ;
21+ const [ editing , setEditing ] = useState ( false ) ;
22+ const [ currentUser , setCurrentUser ] = useState ( initialFormState ) ;
1923
20- const [ users , setUsers ] = useState ( usersData )
21- const [ editing , setEditing ] = useState ( false )
22- const [ currentUser , setCurrentUser ] = useState ( initialFormState )
23-
24- // increment the ID of the new user manually - function will
25- // take a user object as a parameter, add them to the users array of objects
26- // the ...users code ensures that all the previous users remain in the array
24+ // increment the ID of the new user manually - function will
25+ // take a user object as a parameter, add them to the users array of objects
26+ // the ...users code ensures that all the previous users remain in the array
2727
2828 const addUser = ( user ) => {
29- user . id = user . length + 1
30- setUsers ( [ ...users , user ] )
31- }
29+ user . id = user . length + 1 ;
30+ setUsers ( [ ...users , user ] ) ;
31+ } ;
3232
3333 // pass deleteUser through props to UserTable
34- // use setter to take ID of user & filter them out of the users array
34+ // use setter to take ID of user & filter them out of the users array
3535 const deleteUser = ( id ) => {
36- setEditing ( false )
36+ setEditing ( false ) ;
37+
38+ setUsers ( users . filter ( ( user ) => user . id !== id ) ) ;
39+ } ;
3740
38- setUsers ( users . filter ( user => user . id !== id ) )
39- }
40-
4141 const editRow = ( user ) => {
42- setEditing ( true )
43- setCurrentUser ( { id :user . id , name :user . name , username :user . username } )
44- }
42+ setEditing ( true ) ;
43+ setCurrentUser ( { id : user . id , name : user . name , username : user . username } ) ;
44+ } ;
4545
4646 const updateUser = ( id , updatedUser ) => {
47- setEditing ( false )
47+ setEditing ( false ) ;
4848
49- setUsers ( users . map ( user => ( user . id === id ? updatedUser : user ) ) )
50- }
49+ setUsers ( users . map ( ( user ) => ( user . id === id ? updatedUser : user ) ) ) ;
50+ } ;
5151
5252 return (
5353 < div className = "container" >
@@ -77,7 +77,7 @@ const App = () => {
7777 </ div >
7878 </ div >
7979 </ div >
80- )
81- }
80+ ) ;
81+ } ;
8282
83- export default App ;
83+ export default App ;
0 commit comments