我有以下代码:
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的限制吗?
答案 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
}))