javascript - UnexpectedToken 我一辈子都找不到的错误

标签 javascript reactjs

我无法在这个函数中找到意外的 token 错误来挽救我的生命。该错误明确指出它发生在 else if 语句之前的 { 上。说它需要一个逗号,但我不明白如何或为什么?这一定是一件非常愚蠢的事情。

onInputBlur = (event) => {
let input = event.currentTarget,
    { styles } = this.props,
    fontSize = styles.placeholder.fontSize || 10,
    top = styles.placeholder.top || 4

if(input.id === 'zip' && input.split('').length <= 4){
  return
    this.setState(state =>({
      ...state.inputCSS,
      border: '1px solid red'
    })
} else if (input.id === 'zip' && input.split('').length ){
      return
        this.setState(state => {
          ...state.inputCSS,
          border: '1px solid green'
        })
    }

    console.log(this.state.inputCSS)
}

最佳答案

有两件事:

发生语法错误是因为您在 setState 调用中缺少右括号。

this.setState(state =>({
      ...state.inputCSS,
      border: '1px solid red'
  })) // <--- neeeds one more!

其次,return 和您要返回的内容之间不能有新行。因此,正如您所写,setState 调用永远不会触发,它只会返回未定义。

return this.setState(state => ({
  ...state.inputCSS,
  border: '1px solid red'
}))

关于javascript - UnexpectedToken 我一辈子都找不到的错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48695699/

相关文章:

javascript - 如何使用 Yup 验证对象数组中至少一个对象键具有真实值?

javascript - 如何打印 HTML 页面中的特定部分 Angular JS

reactjs - 如何保护 Firebase 托管中的第三方 API key ?

javascript - 主循环函数不运行嵌套函数

javascript - 如何在不使用固定大小的情况下创建两列(一列有两行,另一列有一列)?

ruby-on-rails-4 - Uncaught Error : Cannot find module "react"

javascript - 图像未显示在列表、React 中

javascript - Gatsby/Netlify 样式不会显示?

javascript - 包含动态数字的变量

javascript - 处理点击和点击但不处理滚动