Реагировать без модулей ES6

В настоящее время я играю с образцом кода Scala, Play Framework и React и столкнулся с проблемой, пытаясь преобразовать следующий код для загрузки в браузер без использования системы модулей ES6. Это означает, что я не могу использовать export default,

Как мне переписать следующее в ES6, чтобы я мог загрузить его на стороне клиента без export default? Должен ли я разбить это на класс и функцию, которая возвращает render?

export default function form({
  fields: defaultFds = [],
  validate: defaultVal = () => ({}),
} = {}) {
  return (WrappedClass) => class Form extends React.Component {
    static defaultProps = {
      fields: defaultFds,
      validate: defaultVal,
    }

    static childContextTypes = {
      form: PropTypes.object,
      fields: PropTypes.object,
    }

    static propTypes = {
      fields: PropTypes.array,
      validate: PropTypes.func,
      value: PropTypes.object,
      onChange: PropTypes.func,
      onValidate: PropTypes.func,
    }

    state = {
      touched: {},
      errors: {},
      valid: undefined,
    }

    render() {
      const { value, onChange, onValidate, validate, fields, ...otherProps } = this.props;
      return <WrappedClass {...otherProps} {...this.generatedProps()} />;
    }
  } 
}

1 ответ

Вам придется переписать все это здесь... потому что, если вы не можете использовать ES6, у вас есть больше поводов для беспокойства, чем export default - все функции, определенные с () => необходимо переписать, и вы, вероятно, не сможете использовать JSX.

Вы читали документы React по этому вопросу?

Другие вопросы по тегам