You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

19 lines
491 B

import React from 'react';
import { isFragment } from 'react-is';
export default function toArray(children) {
var ret = [];
React.Children.forEach(children, function (child) {
if (child === undefined || child === null) {
return;
}
if (Array.isArray(child)) {
ret = ret.concat(toArray(child));
} else if (isFragment(child) && child.props) {
ret = ret.concat(toArray(child.props.children));
} else {
ret.push(child);
}
});
return ret;
}