useLegacyItems.js 725 B

123456789101112131415161718192021222324252627
  1. import * as React from 'react';
  2. import toArray from "rc-util/es/Children/toArray";
  3. import { devUseWarning } from '../_util/warning';
  4. function filter(items) {
  5. return items.filter(item => item);
  6. }
  7. function useLegacyItems(items, children) {
  8. if (process.env.NODE_ENV === 'test') {
  9. const warning = devUseWarning('Menu');
  10. warning.deprecated(!children, 'Step', 'items');
  11. }
  12. if (items) {
  13. return items;
  14. }
  15. const childrenItems = toArray(children).map(node => {
  16. if (/*#__PURE__*/React.isValidElement(node)) {
  17. const {
  18. props
  19. } = node;
  20. const item = Object.assign({}, props);
  21. return item;
  22. }
  23. return null;
  24. });
  25. return filter(childrenItems);
  26. }
  27. export default useLegacyItems;