Skip to content
Permalink
Newer
Older
100644 49 lines (46 sloc) 1.26 KB
Aug 29, 2018
1
import React from 'react'
2
import { StaggeredMotion , spring } from 'react-motion'
3
4
const AnimatedGridContents = props => {
5
return (
6
< StaggeredMotion
Aug 29, 2018
7
defaultStyles = { props . items . map ( ( ) => ( { opacity : 1 , translateY : - 30 } ) ) }
8
styles = { prevInterpolatedStyles =>
9
prevInterpolatedStyles . map ( ( _ , i ) => {
10
return i ===
11
? { opacity : spring ( 1 ) , translateY : spring ( ) }
12
: {
Aug 29, 2018
13
opacity : prevInterpolatedStyles [ i - 1 ] . opacity ,
14
translateY : spring ( prevInterpolatedStyles [ i - 1 ] . translateY )
15
}
16
} )
17
}
18
>
19
{ interpolatingStyles => (
20
< div className = "grid" >
21
{ interpolatingStyles . map ( ( style , i ) => (
22
< div
23
className = "card"
24
key = { props . items [ i ] }
25
style = { {
26
opacity : style . opacity ,
27
transform : `translateY( ${ style . translateY } px)`
28
} }
29
>
30
{ props . items [ i ] }
31
< / div >
32
) ) }
33
< / div >
34
) }
35
< / StaggeredMotion >
36
)
37
}
38
May 3, 2018
39
const TransitionGrid = ( { items , visible } ) => {
40
return (
May 3, 2018
41
visible && (
42
< div className = "animated-grid" >
43
< AnimatedGridContents items = { items } / >
44
< / div >
45
)
46
)
47
}
48
May 3, 2018
49
export default TransitionGrid

友情链: IM·体育网上直播_IM·体育赛事最新版_im体育官网在线官网在线 | im体育app平台下载|IM体育v2.3 安卓版|IM体育今天官网赛表 | im体育推荐官网_im体育今晚高清_im体育买软件 | 2022im体育网网址_分析观看比赛_2022im体育在线软件 | IM体育开户网址-Im体育官方网站-IM体育期胜负彩专家分析 | im电竞体育登录入口_IM·体育比分分析在线_IM·体育v8.5 IOS版 | im体育app官网下载|IM体育最新今天观看|IM体育赛事注册 |