为什么在JavaScript中会出现此错误?
错误-为什么在JavaScript中会出现此错误?,javascript,reactjs,Javascript,Reactjs,错误-分析错误。“}”预期的 我对这段代码有问题,在这段代码中,我发送调用一些数据以将它们放置在一个图中,我占用react并使用react,但我找不到如何解决它 vehiculoPorColores = () => { const _this = this fetch("/live/graph/color") .then(response => response.json()) .then(datos => { const vehicleKey = Object
分析错误。“}”预期的
我对这段代码有问题,在这段代码中,我发送调用一些数据以将它们放置在一个图中,我占用react并使用react,但我找不到如何解决它
vehiculoPorColores = () => {
const _this = this
fetch("/live/graph/color")
.then(response => response.json())
.then(datos => {
const vehicleKey = Object.keys(datos);
console.log(datos)
_this.setState(
{
vehiculosC: vehicleKey.map((e, i) => (
{
name: vehicleKey[i], datos ,[e]
}
)
},() => {setTimeout(this.vehiculoPorColores, 1000)}
)
})
}
您缺少一个结束符
}
,错误消息是它需要一个结束符。当定义多个对象值是将这些值放在单独的行上的常见做法时,代码格式将有助于发现这些内容
此{name:vehicleKey[i],datos[e]}
变为:
{
name: vehicleKey[i],
datos,
[e]
}
有助于发现错误,如对象键分配中的语法错误[e]
这就是产生语法错误的原因:
const baz = 'baz'
const syntaxErrorExample = {
foo: 'tar',
[baz] // <-- Syntax error
}
您应该使用显示编译错误的IDE或编辑器。例如,使用JSFIDLE,您可以很容易地看到括号的错误:只是一个提示;lambda函数的全部要点是避免执行类似\u this=this
的操作。你不需要那样做。
const baz = 'baz'
const example = {
foo: 'tar',
[baz]: undefined // <-- Works
}