我剛剛開始使用React,並遇到了一個我期待的非常簡單的問題。我所要做的就是讓一段文字淡入,然後基於一個簡單的觸發淡出,但我無法讓它淡出。緩和React中的轉換
的代碼如下,我有一個按鈕,使得該消息出現。它正在消失,並在兩秒鐘後消失,但我期待消息離開後淡出......但顯然我誤解了React-ish過渡CSS中的含義。
這裏的陣營組成:
class MessageSender extends React.Component {
render() {
let sent_element = null;
if (this.state.linkSent) {
sent_element = <AnimatedText/>;
}
return (
<div>
{sent_element}
</div>
);
//A fetch then triggers:
...then((json) => {
if (json.success) {
_this.setState({
linkSent: true
})
setTimeout(
function(){
_this.setState({linkSent:false});
},2000
)
}
});
}
class AnimatedText extends React.Component {
render() {
return <ReactTransitionGroup transitionAppear={true} transitionName="fadeInOut">
<div>Sent!</div>
</ReactTransitionGroup>;
}
}
這裏是CSS:
.fadeInOut-appear {
opacity: 0.01;
transition: opacity 0.4s ease-in-out;
-webkit-transition: opacity 0.4s ease-in-out;
}
.fadeInOut-appear.fadeInOut-appear-active {
opacity: 1;
}
.fadeInOut-leave {
opacity: 1;
transition: opacity 0.4s ease-in-out;
-webkit-transition: opacity 0.4s ease-in-out;
}
.fadeInOut-leave.fadeInOut-leave-active {
opacity: 0.01;
}
我現在用的是進口:'進口插件「反應/插件」; var ReactTransitionGroup = addons.addons.CSSTransitionGroup;'我得到的出現過渡完全超過400毫秒淡入淡出。究竟是什麼觸發了**離開**條件?我試圖逐步加強我的過渡小組,但在上班途中無法獲得任何東西。它最終看起來像這樣:''。如果在sent_element附近也是相同的行爲。 –
faceremover
你給孩子添加了「key」屬性嗎?如