当前位置: 首页 > 面试题库 >

React组件中的意外令牌'='

越运锋
2023-03-14
问题内容

我可能会缺少装载机吗?我以为我们应该能够在组件主体中使用这些ES6函数,而不必执行.bind(this)语法reactdocs

    ERROR in ./client/admin-side/components/Form.jsx
Module build failed: SyntaxError: Unexpected token (15:17)

  14 | 
> 15 |     handleChange = (event) => {
     |                  ^
  16 |         this.setState({value: event.target.value})
  17 |     }

我的.babelrc具有以下内容:

{
    "presets": ["env", "react"],
    "plugins": ["transform-object-rest-spread"]
}

我正在使用babel-loaderjs / jsx文档


问题答案:

您需要使用transform-class-properties plugin才能使用类字段,您可以像安装它

npm install --save-dev babel-plugin-transform-class-properties

并将其用作插件

{
    "presets": ["env", "react"],
    "plugins": ["transform-object-rest-spread", "transform-class-properties"]
}

transform-object-rest-spread 用于其余的传播语法,例如

const {a, b, ...rest} = this.props

根据 文档

提出了两个相关的建议:"class instance fields""class static fields"

"Class instance fields" 描述打算在类的实例上存在的属性(并且可以选择包括用于所述属性的初始化器表达式)。

"Class static fields" 是存在于类对象本身上的声明性属性(并且可以选择包括所述属性的初始化程序表达式)。

该提案目前处于 第二阶段

您还可以通过以下方式使用预设的阶段2解决此问题:

npm install --save-dev babel-preset-stage-2

并像这样使用

{
    "presets": ["env", "react", "stage-2"],
    "plugins": ["transform-object-rest-spread"]
}


 类似资料:
  • 问题内容: 这是我的组件代码的片段: 但是,当我运行此代码时,在出现意外的令牌错误。为什么会发生这种情况,我该如何解决? 问题答案: 您必须将方法调用包装在JSX元素中,否则Babel不会将return语句识别为JSX或在这种情况下为内联JSX表达式。它不会将您的代码从JSX转换为纯JavaScript,因此会出现错误。实际上,它被解释为 对象文字 ,而不是您期望的内联JSX表达式: 解决方案是将

  • 问题内容: 我是React和Webpack的新手。我正在设置我的第一个项目,当我尝试运行webpack-dev-server时,我的代码无法编译! *下面的 *更新 答案是正确的。我需要添加到babel loader预设中。您可以在这里查看项目的完整资源:https://github.com/cleechtech/redux- todo 错误: src / index.js: src / comp

  • 我是新来的反应和Webpack。我正在设置我的第一个项目,当我试图运行webpack开发服务器时,我的代码没有编译! 下面的更新答案是正确的。我需要添加到babel装载机预设。您可以在此处查看project的完整源代码:https://github.com/cleechtech/redux-todo 错误: src/index.js: SRC/组件/App.js dist/index.html 最

  • 我正在学习反应,我想测试我的一个组件,但我坚持这个错误: 以下是我在阅读stackoverflow和github上的帖子时尝试过的一些东西 添加了测试预设和这些插件“变换-es2015-moids-Common js”、动态导入节点”到我的babel配置 在我的包裹里。json Jest属性具有以下设置: 我的实际组件是用ES6和typescript构建的,如果这对您有帮助的话:) 从我所读到的内

  • 本文向大家介绍意外的令牌相关面试题,主要包含被问及意外的令牌时的应答技巧和注意事项,需要的朋友参考一下 您的JavaScript表示使用JSONP模式发出Ajax请求(这涉及将元素插入文档中而不是使用XMLHttpRequest)。 您得到的响应是一个XML文档,而不是遵循JSONP模式的JavaScript程序,它类似于: 因为浏览器试图将XML作为JavaScript执行(不是),您会收到错误

  • 我在使用Struts2和Hibernate时遇到了以下错误: 我有这个方法: folling代码定义类之间的关系: Contrat类: Paiement类: PeriodePay等级: 此查询在phpMyAdmin中工作良好;你能告诉我出了什么问题吗 编辑1: 我在试着别搞错了: 我在控制台中得到结果: 但是使用jsp我在数据表中得不到结果,也许我必须修复迭代器