1
1
import React , { Component } from 'react' ;
2
2
import Modal from 'react-modal' ;
3
3
4
- function List ( props ) {
5
- return props . items . map ( ( x , i ) => (
6
- < div key = { i } onClick = { props . onItemClick ( i ) } >
7
- < a href = "javascript:void(0)" > { x } </ a >
8
- </ div >
9
- ) ) ;
4
+ class List extends React . Component {
5
+ render ( ) {
6
+ return (
7
+ < div >
8
+ { this . props . items . map ( ( x , i ) => (
9
+ < div key = { i } onClick = { this . props . onItemClick ( i ) } >
10
+ < a href = "javascript:void(0)" > { x } </ a >
11
+ </ div > ) ) }
12
+ </ div >
13
+ ) ;
14
+ }
10
15
}
11
16
12
17
class MultipleModals extends Component {
@@ -27,7 +32,6 @@ class MultipleModals extends Component {
27
32
return ;
28
33
}
29
34
this . setState ( {
30
- ...this . state ,
31
35
items : [ ] ,
32
36
listItemsIsOpen : true ,
33
37
loading : true
@@ -38,7 +42,6 @@ class MultipleModals extends Component {
38
42
// opportunity to validate something and keep the modal open even if it
39
43
// requested to be closed
40
44
this . setState ( {
41
- ...this . state ,
42
45
listItemsIsOpen : false ,
43
46
loading : false
44
47
} ) ;
@@ -47,22 +50,21 @@ class MultipleModals extends Component {
47
50
handleOnAfterOpenModal = ( ) => {
48
51
// when ready, we can access the available refs.
49
52
( new Promise ( ( resolve , reject ) => {
50
- setTimeout ( ( ) => resolve ( true ) , 1000 ) ;
53
+ setTimeout ( ( ) => resolve ( true ) , 500 ) ;
51
54
} ) ) . then ( res => {
52
55
this . setState ( {
53
- ...this . state ,
54
56
items : [ 1 , 2 , 3 , 4 , 5 ] . map ( x => `Item ${ x } ` ) ,
55
57
loading : false
56
58
} ) ;
57
59
} ) ;
58
60
}
59
61
60
62
onItemClick = index => event => {
61
- this . setState ( { ... this . state , currentItem : index } ) ;
63
+ this . setState ( { currentItem : index } ) ;
62
64
}
63
65
64
66
cleanCurrentItem = ( ) => {
65
- this . setState ( { ... this . state , currentItem : - 1 } ) ;
67
+ this . setState ( { currentItem : - 1 } ) ;
66
68
}
67
69
68
70
render ( ) {
0 commit comments