我從material-ui獲得了一個<Card>
組件。它有一個CardHeader,CardText和其他部分組合在一起製作整個卡片。一個材料卡,使用react-addons-transition-group的多個動畫
我可以使用react-addons-transition-group
爲它進入屏幕(componentWillEnter)時爲其製作動畫。
export class MyCard extends React.Component {
constructor(props) {
super(props);
}
componentWillEnter (callback) {
const el = findDOMNode(this);
TweenMax.fromTo(el, 0.4, {y: 100, opacity: 0}, {y: 0, opacity: 1, onComplete: callback});
}
render(){
return <Card>
<h1> Blah Blah Title <h1>
<CardText> Blah Blah </CardText>
</Card>
}
}
接着上面獲取另一部分呈現像這樣:這與偉大工程
<ReactTransitionGroup> <MyCard> </ReactTransitionGroup>
結束語在ReactTransitionGroup
確保它調用componentWillEnter
被調用,以及動畫運行。這按預期工作。
我想要做的是多個動畫。所以,卡片從左邊進入,CardText從頂部進入,而h1從右邊進入 - 或者是影響到的東西。
理想情況下,我只想做這樣的事情:
componentWillEnter (callback) {
const el = findDOMNode(Card);
const el = findDOMNode(h1);
const el = findDOMNode(CardText);
TweenMax.fromTo(Card, 0.4, {y: 100, opacity: 0}, {y: 0, opacity: 1, onComplete: callback});
TweenMax.fromTo(h1, 0.4, {y: 100, opacity: 0}, {y: 0, opacity: 1, onComplete: callback});
TweenMax.fromTo(CardText, 0.4, {y: 100, opacity: 0}, {y: 0, opacity: 1, onComplete: callback});
}
當然,這是行不通的。
所以我的問題是,我該如何去解析組件的this
實例,以便我可以動畫每個單獨的部分?
我在findDOMNode
上找不到太多東西。似乎我不能將id標籤添加到不同的部分,並使用findDOMNode
中的標籤。或者,也許我正在全力以赴。