首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >反应式动画退出问题

反应式动画退出问题
EN

Stack Overflow用户
提问于 2018-10-07 19:32:41
回答 1查看 862关注 0票数 4

我使用反应姿态在窗口内外动画通知。

“进入”过渡是很好和顺利的,然而,在出口-动画是非常积极的。

有人遇到过这个问题吗?我可以在任何地方上传一个视频屏幕截图来说明这个问题(除了youtube )。

这是我的代码:

代码语言:javascript
复制
import React, { Component } from 'react';
import PropTypes from 'prop-types';
import { connect } from 'react-redux';
import posed, { PoseGroup } from "react-pose";

import classNames from 'classnames';
import "./index.scss";

import key from 'keymaster';
import Notification from '../../components/Notification';

const NotificationPose = posed.div({
  enter: { 
    opacity: 1, 
    x: '0%',
    transition: { 
      duration: 300, 
      ease: 'easeIn' 
    } 
  },
  exit: { 
    opacity: 0, 
    x: '100%',
    transition: {
      duration: 500,
      ease: 'easeOut'
    }
  }
});

class NotificationCentre extends Component {

  static propTypes = {
    notifications: PropTypes.array,
  };
  static defaultProps = {
    notifications: []
  };

  constructor(props) {
    super(props);
    this.className=this.keyScope='NotificationCentre';
  }
  render(){
    return (
      <div className={`${this.className}`}>
          <PoseGroup>
          {
            this.props.notifications.map((d, i) => {
              return (
                <NotificationPose key={`notification-anim-${i}`}>
                  <Notification
                    key={`notification-${i}`}
                    active={false}
                    {...d}/>
                </NotificationPose>

              );
            })
          }
          </PoseGroup>
      </div>
    );
  }
}

const mapDispatchToProps = dispatch => ({});
const mapStateToProps = state => ({
  tvShowsList: state.tvShows.fetchingTVShowsListHasSucceeded,
});

export default connect(mapStateToProps, mapDispatchToProps)(NotificationCentre);
EN

回答 1

Stack Overflow用户

发布于 2019-01-07 09:47:37

PosedGroup要求每个子项都有唯一的键属性跟踪,输入和退出子级。

如文档(这里)中所示

必须为PoseGroup提供唯一的密钥属性,以便跟踪子级的输入和退出。

避免为此使用数组索引作为键,因为输入的新元素将具有与已删除的元素相同的键。相反,使用唯一的id,如notification.id,它将运行良好。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/52692127

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档