在React.createElement中传递onSubmit作为道具

时间:2020-08-02 05:18:04

标签: javascript reactjs

我有以下代码:

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,但是onsubmitonclick不会出现在HTML中。这是React的限制吗?

1 个答案:

答案 0 :(得分:0)

在React中,事件名称使用驼峰式大小写。构造已编译的原始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
}))