기본적으로 3가지 상태가 있다.
Enter, Leave의 경우 자식 요소의 key값이 무조건 있어야 하고, key값을 기준으로 추가, 삭제되는 자식 요소에
기본으로 {name}-{status}
클래스를 가지고 있고 상태 변경 시 {name}-{status}-active
클래스를 추가한다.
import React, {Component} from 'react';
import ReactCSSTransitionGroup from 'react-addons-css-transition-group';
import TodoItem from "./TodoItem";
class TodoList extends Component {
render() {
return (
<div className="row">
<div className="col s12">
<ul className="collection">
<ReactCSSTransitionGroup
transitionName="example"
transitionEnterTimeout={10000}
transitionLeaveTimeout={10000}
>
{this.props.todos.map((todo) => (
<TodoItem key={todo.id} todo={todo} onDelete={this.props.onDelete} />
))}
</ReactCSSTransitionGroup>
</ul>
</div>
</div>
);
}
}
export default TodoList;
.example-enter {
opacity: 0.01;
}
.example-enter.example-enter-active {
opacity: 1;
transition: opacity 500ms ease-in;
}
.example-leave {
opacity: 1;
}
.example-leave.example-leave-active {
opacity: 0.01;
transition: opacity 300ms ease-in;
}