Skip to content

Commit a7f2fdb

Browse files
authored
Merge pull request #110 from react-component/feat-ssr-support
feat: support ssr
2 parents cfe21aa + 090d23a commit a7f2fdb

File tree

3 files changed

+13
-6
lines changed

3 files changed

+13
-6
lines changed

.travis.yml

Lines changed: 2 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ notifications:
77
88

99
node_js:
10-
- 8.1.0
10+
- 10
1111

1212
before_install:
1313
- |
@@ -16,8 +16,6 @@ before_install:
1616
echo "Only docs were updated, stopping build process."
1717
exit
1818
fi
19-
npm install [email protected] -g
20-
phantomjs --version
2119
script:
2220
- |
2321
if [ "$TEST_TYPE" = test ]; then
@@ -31,7 +29,6 @@ env:
3129
- TEST_TYPE=test
3230
- TEST_TYPE=coverage
3331

34-
3532
matrix:
3633
allow_failures:
37-
- env: "TEST_TYPE=saucelabs"
34+
- env: "TEST_TYPE=saucelabs"

src/QueueAnim.jsx

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@ import { polyfill } from 'react-lifecycles-compat';
66
import {
77
toArrayChildren,
88
findChildInChildrenByKey,
9+
windowIsUndefined,
910
mergeChildren,
1011
transformArguments,
1112
getChildrenFromProps,
@@ -73,7 +74,7 @@ class QueueAnim extends React.Component {
7374
const leaveChild = children.filter(
7475
item => item && $self.keysToLeave.indexOf(item.key) >= 0,
7576
);
76-
77+
7778
$self.leaveUnfinishedChild = leaveChild.map(item => item.key);
7879
/**
7980
* 获取 leaveChild 在 state.children 里的序列,再将 leaveChild 和 currentChildren 的重新排序。
@@ -546,6 +547,9 @@ class QueueAnim extends React.Component {
546547
appear,
547548
...tagProps
548549
} = this.props;
550+
if (windowIsUndefined) {
551+
return createElement(component, { ...tagProps, ...componentProps }, this.props.children);
552+
}
549553
const childrenToRender = toArrayChildren(this.state.children).map(this.getChildrenToRender);
550554
const props = {
551555
...tagProps,

src/utils.js

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,12 @@
11
/* eslint no-prototype-builtins: 0 */
22
import React from 'react';
33

4+
export const windowIsUndefined = !(
5+
typeof window !== 'undefined' &&
6+
window.document &&
7+
window.document.createElement
8+
);
9+
410
export function toArrayChildren(children) {
511
const ret = [];
612
React.Children.forEach(children, c => {

0 commit comments

Comments
 (0)