Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/29.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript “分析错误:类型强制转换表达式应使用括号包装”,带有React钩子_Javascript_Reactjs - Fatal编程技术网

Javascript “分析错误:类型强制转换表达式应使用括号包装”,带有React钩子

Javascript “分析错误:类型强制转换表达式应使用括号包装”,带有React钩子,javascript,reactjs,Javascript,Reactjs,我有许多值与对象属性匹配的输入: 例如: 但是当我这样做的时候,我得到了错误 分析错误:类型转换表达式应被包装 带括号 , 有人能帮我吗?谢谢大家! 字段周围缺少括号,因为它是一个对象: function handleChange(e) { setFields({...fields, [e.target.name]: e.target.value}) } 在这种情况下,最好使用setState的函数形式,因为下一个状态的值取决于前一个状态: function handleChange(e)

我有许多值与对象属性匹配的输入:

例如:

但是当我这样做的时候,我得到了错误

分析错误:类型转换表达式应被包装 带括号

,


有人能帮我吗?谢谢大家!

字段周围缺少括号,因为它是一个对象:

function handleChange(e) {
  setFields({...fields, [e.target.name]: e.target.value})
}
在这种情况下,最好使用setState的函数形式,因为下一个状态的值取决于前一个状态:

function handleChange(e) {
  setFields(currentFields => ({...currentFields, [e.target.name]: e.target.value}))
}

HandleChange/>,它缺少右大括号}。@randomSoul是的,很抱歉我创建主题时输入错误,但在我的代码中它写得很好。这意味着您使用的不是JavaScript,而是了解类型转换表达式的其他语言。也许是TS还是Flow?请用它标记您的问题。好的,setFields…fields,[e.target.name]:e.target.value显然是一个无效的函数调用。您的意思是在扩展fields变量setFields…fields,{[e.target.name]:e.target.value}之后传递对象文本吗?如果不是,我不知道您在这里打算做什么。似乎您正在将对象传递给函数集合字段,并且对象需要包含在{}中。尝试设置字段{…字段,[e.target.name]:e.target.value}。
function handleChange(e) {
  setFields({...fields, [e.target.name]: e.target.value})
}
function handleChange(e) {
  setFields(currentFields => ({...currentFields, [e.target.name]: e.target.value}))
}