Skip to content

Commit 71c04d1

Browse files
committed
fix #97
1 parent 1d7f895 commit 71c04d1

File tree

2 files changed

+6
-5
lines changed

2 files changed

+6
-5
lines changed

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "rc-queue-anim",
3-
"version": "1.8.0",
3+
"version": "1.8.1",
44
"description": "Queue animation component for react",
55
"keywords": [
66
"react",

src/QueueAnim.jsx

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -61,11 +61,9 @@ class QueueAnim extends React.Component {
6161
const nextState = {
6262
prevProps: props,
6363
};
64-
const prevChildren = prevProps ? toArrayChildren(prevProps.children).filter(c => c) : [];
65-
const nextChildren = toArrayChildren(props.children).filter(c => c);
66-
if (prevProps &&
67-
prevChildren.map(c => c.key).join() !== nextChildren.map(c => c.key).join()
64+
if (prevProps && !$self.isInsideRender
6865
) {
66+
const nextChildren = toArrayChildren(props.children).filter(c => c);
6967
let currentChildren = $self.originalChildren.filter(item => item);
7068
if (children.length) {
7169
/**
@@ -253,6 +251,7 @@ class QueueAnim extends React.Component {
253251
const keysToLeave = [...this.keysToLeave];
254252
keysToEnter.forEach(this.performEnter);
255253
keysToLeave.forEach(this.performLeave);
254+
this.isInsideRender = false;
256255
}
257256

258257
componentWillUnmount() {
@@ -469,6 +468,7 @@ class QueueAnim extends React.Component {
469468
delete this.keysToEnterPaused[key];
470469
ticker.clear(this.placeholderTimeoutIds[key]);
471470
delete this.placeholderTimeoutIds[key];
471+
this.isInsideRender = true;
472472
this.setState({ childrenShow });
473473
};
474474

@@ -523,6 +523,7 @@ class QueueAnim extends React.Component {
523523
const needLeave = this.keysToLeave.some(c => childrenShow[c]);
524524
if (!needLeave) {
525525
const currentChildren = toArrayChildren(getChildrenFromProps(this.props));
526+
this.isInsideRender = true;
526527
this.setState({
527528
children: currentChildren,
528529
childrenShow,

0 commit comments

Comments
 (0)