utils.js 686 B

123456789101112131415161718
  1. import React from 'react';
  2. import { Button } from 'antd';
  3. export const isImg = /^http(s)?:\/\/([\w-]+\.)+[\w-]+(\/[\w-./?%&=]*)?/;
  4. export const getChildrenToRender = (item, i) => {
  5. let tag = item.name.indexOf('title') === 0 ? 'h1' : 'div';
  6. tag = item.href ? 'a' : tag;
  7. let children = typeof item.children === 'string' && item.children.match(isImg)
  8. ? React.createElement('img', { src: item.children, alt: 'img' })
  9. : item.children;
  10. if (item.name.indexOf('button') === 0 && typeof item.children === 'object') {
  11. children = React.createElement(Button, {
  12. ...item.children
  13. });
  14. }
  15. return React.createElement(tag, { key: i.toString(), ...item }, children);
  16. };