CSSTransition组件的appear属性应用后卫达到效果
来源:4-13 使用 react-transition-group 实现动画(1)
console_man
2019-03-29
老师,你好,请问下为什么我应用了appear属性,但是第一次渲染的时候并未生效
子组件Test.js:
import React, { Component } from "react";
import { CSSTransition } from "react-transition-group";
import "./Test.css";
class Test extends Component {
constructor(props) {
super(props);
this.state = {
show: true
};
}
render() {
return (
<React.Fragment>
<CSSTransition
in={this.state.show}
timeout={10000}
classNames="alert"
appear={true}
>
<span>hello world</span>
</CSSTransition>
<button onClick={this.handleOnClick.bind(this)}>toggle</button>
</React.Fragment>
);
}
handleOnClick() {
this.setState((prevState) => ({
show: !prevState.show
}));
}
handleOnEnter() {
console.log("onEnter");
}
}
export default Test;
子组件对应的样式文件Test.css
.alert-appear {
opacity: 0;
}
.alert-appear-active {
opacity: 1;
transition: opacity 30000ms;
}
.alert-enter {
opacity: 0;
}
.alert-enter-active {
opacity: 1;
transition: opacity 30000ms;
}
.alert-enter-done {
opacity: 1;
}
.alert-exit {
opacity: 1;
}
.alert-exit-active {
opacity: 0;
transition: opacity 300ms;
}
写回答
2回答
-
东风破
2019-04-08
你的timeout设置是不是有问题呢,我用老师讲的方法是没问题的
012019-04-10 -
Dell
2019-03-30
同学你好,帮忙看下我写的那个demo,也有这个问题吗,确认下是我的问题还是你这块自己代码的问题
032019-04-10
相似问题