@@ -2,140 +2,42 @@ import React, { Component } from 'react';
2
2
import { scrollToWhen } from '../../lib' ;
3
3
import logo from './logo.svg' ;
4
4
import './App.css' ;
5
- import { JUMP_TO , JUMP_TO_LAST } from './actions' ;
5
+ import { JUMP_TO_HEADER , JUMP_TO_PARAGRAPH } from './actions' ;
6
6
7
- const Header = scrollToWhen ( JUMP_TO , { duration : 1000 } ) ( ( ) =>
7
+ const Header = scrollToWhen ( JUMP_TO_HEADER , {
8
+ scrollOptions : { duration : 1000 } ,
9
+ } ) ( ( ) =>
8
10
< div className = "App-header" >
9
11
< img src = { logo } className = "App-logo" alt = "logo" />
10
12
< h2 > Welcome to React</ h2 >
11
13
</ div >
12
14
) ;
13
15
14
- const LastParagraph = scrollToWhen (
15
- JUMP_TO_LAST ,
16
- { duration : 3000 , easingFunction : 'EASE_IN_OUT_CUBIC' , yAlignment : 'BOTTOM' } ,
17
- ( dispatch , cancelled ) => dispatch ( { type : 'SCROLL_FINISHED' , cancelled } )
16
+ const ScrollableParagraph = scrollToWhen (
17
+ ( { type, payload } , { paragraphId } ) => (
18
+ type === JUMP_TO_PARAGRAPH && paragraphId === payload ? {
19
+ onEnd : ( dispatch , cancelled ) =>
20
+ dispatch ( { type : 'SCROLL_FINISHED' , cancelled } ) ,
21
+ scrollOptions : { yAlignment : 'TOP' , duration : 3000 } ,
22
+ } : undefined
23
+ ) ,
24
+ { excludedProps : [ 'paragraphId' ] }
18
25
) ( 'p' ) ;
19
26
20
27
class App extends Component {
21
28
render ( ) {
22
29
return (
23
30
< div className = "App" >
24
31
< Header />
25
- < p className = "App-intro" >
26
- To get started, edit < code > src/App.js</ code > and save to reload.
27
- To get started, edit < code > src/App.js</ code > and save to reload.
28
- To get started, edit < code > src/App.js</ code > and save to reload.
29
- To get started, edit < code > src/App.js</ code > and save to reload.
30
- </ p >
31
- < p className = "App-intro" >
32
- To get started, edit < code > src/App.js</ code > and save to reload.
33
- To get started, edit < code > src/App.js</ code > and save to reload.
34
- To get started, edit < code > src/App.js</ code > and save to reload.
35
- To get started, edit < code > src/App.js</ code > and save to reload.
36
- </ p >
37
- < p className = "App-intro" >
38
- To get started, edit < code > src/App.js</ code > and save to reload.
39
- To get started, edit < code > src/App.js</ code > and save to reload.
40
- To get started, edit < code > src/App.js</ code > and save to reload.
41
- To get started, edit < code > src/App.js</ code > and save to reload.
42
- </ p >
43
- < p className = "App-intro" >
44
- To get started, edit < code > src/App.js</ code > and save to reload.
45
- To get started, edit < code > src/App.js</ code > and save to reload.
46
- To get started, edit < code > src/App.js</ code > and save to reload.
47
- To get started, edit < code > src/App.js</ code > and save to reload.
48
- </ p >
49
- < p className = "App-intro" >
50
- To get started, edit < code > src/App.js</ code > and save to reload.
51
- To get started, edit < code > src/App.js</ code > and save to reload.
52
- To get started, edit < code > src/App.js</ code > and save to reload.
53
- To get started, edit < code > src/App.js</ code > and save to reload.
54
- </ p >
55
- < p className = "App-intro" >
56
- To get started, edit < code > src/App.js</ code > and save to reload.
57
- To get started, edit < code > src/App.js</ code > and save to reload.
58
- To get started, edit < code > src/App.js</ code > and save to reload.
59
- To get started, edit < code > src/App.js</ code > and save to reload.
60
- </ p >
61
- < p className = "App-intro" >
62
- To get started, edit < code > src/App.js</ code > and save to reload.
63
- To get started, edit < code > src/App.js</ code > and save to reload.
64
- To get started, edit < code > src/App.js</ code > and save to reload.
65
- To get started, edit < code > src/App.js</ code > and save to reload.
66
- </ p >
67
- < p className = "App-intro" >
68
- To get started, edit < code > src/App.js</ code > and save to reload.
69
- To get started, edit < code > src/App.js</ code > and save to reload.
70
- To get started, edit < code > src/App.js</ code > and save to reload.
71
- To get started, edit < code > src/App.js</ code > and save to reload.
72
- </ p >
73
- < p className = "App-intro" >
74
- To get started, edit < code > src/App.js</ code > and save to reload.
75
- To get started, edit < code > src/App.js</ code > and save to reload.
76
- To get started, edit < code > src/App.js</ code > and save to reload.
77
- To get started, edit < code > src/App.js</ code > and save to reload.
78
- </ p >
79
- < LastParagraph className = "App-intro" >
80
- Test.To get started, edit < code > src/App.js</ code > and save to reload.
81
- To get started, edit < code > src/App.js</ code > and save to reload.
82
- To get started, edit < code > src/App.js</ code > and save to reload.
83
- To get started, edit < code > src/App.js</ code > and save to reload.
84
- </ LastParagraph >
85
- < p className = "App-intro" >
86
- To get started, edit < code > src/App.js</ code > and save to reload.
87
- To get started, edit < code > src/App.js</ code > and save to reload.
88
- To get started, edit < code > src/App.js</ code > and save to reload.
89
- To get started, edit < code > src/App.js</ code > and save to reload.
90
- </ p >
91
- < p className = "App-intro" >
92
- To get started, edit < code > src/App.js</ code > and save to reload.
93
- To get started, edit < code > src/App.js</ code > and save to reload.
94
- To get started, edit < code > src/App.js</ code > and save to reload.
95
- To get started, edit < code > src/App.js</ code > and save to reload.
96
- </ p >
97
- < p className = "App-intro" >
98
- To get started, edit < code > src/App.js</ code > and save to reload.
99
- To get started, edit < code > src/App.js</ code > and save to reload.
100
- To get started, edit < code > src/App.js</ code > and save to reload.
101
- To get started, edit < code > src/App.js</ code > and save to reload.
102
- </ p >
103
- < p className = "App-intro" >
104
- To get started, edit < code > src/App.js</ code > and save to reload.
105
- To get started, edit < code > src/App.js</ code > and save to reload.
106
- To get started, edit < code > src/App.js</ code > and save to reload.
107
- To get started, edit < code > src/App.js</ code > and save to reload.
108
- </ p >
109
- < p className = "App-intro" >
110
- To get started, edit < code > src/App.js</ code > and save to reload.
111
- To get started, edit < code > src/App.js</ code > and save to reload.
112
- To get started, edit < code > src/App.js</ code > and save to reload.
113
- To get started, edit < code > src/App.js</ code > and save to reload.
114
- </ p >
115
- < p className = "App-intro" >
116
- To get started, edit < code > src/App.js</ code > and save to reload.
117
- To get started, edit < code > src/App.js</ code > and save to reload.
118
- To get started, edit < code > src/App.js</ code > and save to reload.
119
- To get started, edit < code > src/App.js</ code > and save to reload.
120
- </ p >
121
- < p className = "App-intro" >
122
- To get started, edit < code > src/App.js</ code > and save to reload.
123
- To get started, edit < code > src/App.js</ code > and save to reload.
124
- To get started, edit < code > src/App.js</ code > and save to reload.
125
- To get started, edit < code > src/App.js</ code > and save to reload.
126
- </ p >
127
- < p className = "App-intro" >
128
- To get started, edit < code > src/App.js</ code > and save to reload.
129
- To get started, edit < code > src/App.js</ code > and save to reload.
130
- To get started, edit < code > src/App.js</ code > and save to reload.
131
- To get started, edit < code > src/App.js</ code > and save to reload.
132
- </ p >
133
- < p className = "App-intro" >
134
- To get started, edit < code > src/App.js</ code > and save to reload.
135
- To get started, edit < code > src/App.js</ code > and save to reload.
136
- To get started, edit < code > src/App.js</ code > and save to reload.
137
- To get started, edit < code > src/App.js</ code > and save to reload.
138
- </ p >
32
+ { [ 0 , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 , 10 ] . map ( id =>
33
+ < ScrollableParagraph paragraphId = { id } key = { id } >
34
+ This paragraph { id } < br /> < br />
35
+ To get started, edit < code > src/App.js</ code > and save to reload. < br />
36
+ To get started, edit < code > src/App.js</ code > and save to reload. < br />
37
+ To get started, edit < code > src/App.js</ code > and save to reload. < br />
38
+ To get started, edit < code > src/App.js</ code > and save to reload. < br />
39
+ </ ScrollableParagraph >
40
+ ) }
139
41
</ div >
140
42
) ;
141
43
}
0 commit comments