我使用反应姿态在窗口内外动画通知。
“进入”过渡是很好和顺利的,然而,在出口-动画是非常积极的。
有人遇到过这个问题吗?我可以在任何地方上传一个视频屏幕截图来说明这个问题(除了youtube )。
这是我的代码:
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);发布于 2019-01-07 09:47:37
PosedGroup要求每个子项都有唯一的键属性跟踪,输入和退出子级。
如文档(这里)中所示
必须为PoseGroup提供唯一的密钥属性,以便跟踪子级的输入和退出。
避免为此使用数组索引作为键,因为输入的新元素将具有与已删除的元素相同的键。相反,使用唯一的id,如notification.id,它将运行良好。
https://stackoverflow.com/questions/52692127
复制相似问题