передача onSubmit в качестве опоры в React.createElement - PullRequest
0 голосов
/ 02 августа 2020

У меня следующий код:

data = React.createElement(f, {onsubmit: a}, div.fields.map((d, i) => {
  let thisInput
  if (d.placeholder) {thisInput = React.createElement(d.format, {placeholder: d.placeholder, className: "captureEmail"})}
  if (d.value) {thisInput = React.createElement(d.format, {className: "btn"}, d.value)}
  return thisInput
}))

В частности, я смотрю на {onsubmit: a} в первой строке. Я могу передать className, если хочу, но onsubmit или onclick не попадут в HTML. Это ограничение в React?

1 Ответ

0 голосов
/ 02 августа 2020

В React имена событий записываются в верблюжий регистр. Компилятор вернет его обратно к нижнему регистру при построении скомпилированного vanilla JS. Чтобы он заработал, передайте ему обработчик события onsubmit как onSubmit и обработчик события onclick как onClick.

data = React.createElement(f, {onSubmit: a}, div.fields.map((d, i) => {
  let thisInput
  if (d.placeholder) {thisInput = React.createElement(d.format, {placeholder: d.placeholder, className: "captureEmail"})}
  if (d.value) {thisInput = React.createElement(d.format, {className: "btn", value: d.value})}
  return thisInput
}))
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...