Реагировать без модулей 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 по этому вопросу?