react——react-transition-group的基本使用(三)TransitionGroup组件

实现的效果如上所示:点击按钮,列表下方添加字符串,添加的过程带着动画,并且添加后字体变成红色。代码如下:

首先是,App.js文件中注册<TransitionGroupDemo>组件

TransitionGroupDemo.js文件代码:

import React, { PureComponent } from 'react'
import { CSSTransition, TransitionGroup } from 'react-transition-group';
import './TransitionGrup.css'

export default class TransitionGroupDemo extends PureComponent {
    constructor(props){
        super(props);
        this.state={
            names:["coderwhy","koba","cysia","mike"]
        }
    }
    render() {
        const {names}=this.state;
        return (
            <TransitionGroup>
                {
                    names.map((item,index)=>{
                        return(
                            <CSSTransition  key={index}
                                            timeout={1000}
                                            classNames="item">
                                <div>{item}</div>
                            </CSSTransition>
                            ) 
                    })
                }
                <button onClick={e=>{this.addNames()}}>添加</button>
            </TransitionGroup>
        )
    }
    addNames(){
        const newnames=[...this.state.names,"connie"]
        this.setState({
            names:newnames
        })
    }
}

TransitionGroupDemo.css文件代码:

.item-enter{
    opacity: 0;
}
.item-enter-active{
    opacity: 1;
    transition:opacity 1000ms;
}
.item-enter-done{
    opacity: 1;
    color:red; 
}

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值