File tree Expand file tree Collapse file tree 1 file changed +32
-10
lines changed
Expand file tree Collapse file tree 1 file changed +32
-10
lines changed Original file line number Diff line number Diff line change @@ -29,28 +29,50 @@ class App extends Component {
2929 }
3030 this . addForm . reset ( )
3131 }
32+ handleSubmit = event => {
33+ event . preventDefault ( )
34+ const newItem = this . newItem . value
35+ if ( newItem ) {
36+ this . setState ( prevState => {
37+ return { items : [ ...prevState . items , newItem ] }
38+ } )
39+ } else {
40+ return
41+ }
42+ this . addForm . reset ( )
43+ }
3244 removeItem = x => {
33- const newItems = this . state . items . filter ( item => item !== x )
34- this . setState ( {
35- items : [ ...newItems ] ,
45+ this . setState ( ( { items} ) => {
46+ return {
47+ items : [ ...items . filter ( item => item !== x ) ] ,
48+ }
3649 } )
3750 }
3851 selectItem = ( ) => {
3952 this . setState (
40- {
41- selectedItem : randomItem ( this . state . items ) ,
42- confetti : true ,
53+ prevState => {
54+ let nextItem
55+ do {
56+ nextItem = randomItem ( prevState . items )
57+ } while ( nextItem === prevState . selectItem )
58+ return {
59+ selectedItem : nextItem ,
60+ confetti : true ,
61+ }
4362 } ,
44- ( ) =>
63+ ( ) => {
4564 this . setState ( {
4665 confetti : false ,
47- } ) ,
66+ } )
67+ } ,
4868 )
4969 }
5070 toggleSidebar = e => {
5171 e . preventDefault ( )
52- this . setState ( {
53- sidebarVisible : ! this . state . sidebarVisible ,
72+ this . setState ( prevState => {
73+ return {
74+ sidebarVisible : ! prevState . sidebarVisible ,
75+ }
5476 } )
5577 }
5678 render ( ) {
You can’t perform that action at this time.
0 commit comments