首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >React添加@ Babel /预设-react (https://git.io/JfeDR)到Babel配置的“预设”部分)以启用转换

React添加@ Babel /预设-react (https://git.io/JfeDR)到Babel配置的“预设”部分)以启用转换
EN

Stack Overflow用户
提问于 2021-01-25 06:49:38
回答 2查看 36K关注 0票数 13

我想在我的表单中使用react验证组件Input。这就是我导入它的原因&在表单中用作:

代码语言:javascript
复制
<Input className="form-control"
       type="text"
       placeholder="name"
       value={props.data.creatingUser.createName}
       name="createName"
       id="createName"
       onChange={props.handleAddChange}
required/>

当我尝试使用npm start运行应用程序时,在控制台中会收到以下错误:

E:\Projects\personal\rental-application\node_modules\react-validation\src\components\input\index.js::E:\Projects\personal\rental-application\node_modules\react-validation\src\components\input\index.js:对实验性语法'jsx‘的支持还没有完全启用(6:3): const = ({ error,isChanged,isUsed,...props }) => (x^ is-invalid-input ${props.className} }:{ className: props.className } )} /> }

--我还没有显式地进行任何babel配置--,并且我的package.json文件有以下内容:

代码语言:javascript
复制
{
  "name": "rental-application",
  "version": "0.1.0",
  "private": true,
  "dependencies": {
    "@testing-library/jest-dom": "^5.11.9",
    "@testing-library/react": "^11.2.3",
    "@testing-library/user-event": "^12.6.0",
    "jquery": "^3.5.1",
    "react": "^17.0.1",
    "react-dom": "^17.0.1",
    "react-scripts": "4.0.1",
    "web-vitals": "^0.2.4",
    "popper.js": "1.16.1",
    "css-loader": "^5.0.1",
    "react-bootstrap": "^1.4.3",
    "sass-loader": "^10.1.1",
    "style-loader": "^2.0.0",
    "axios": "^0.21.1",
    "react-notifications": "^1.7.2",
    "react-fontawesome": "^1.7.1",
    "react-table": "^6.11.4",
    "react-validation": "^3.0.7"
  },
  "scripts": {
    "start": "react-scripts start",
    "build": "react-scripts build",
    "test": "react-scripts test",
    "eject": "react-scripts eject"
  },
  "eslintConfig": {
    "extends": [
      "react-app",
      "react-app/jest"
    ]
  },
  "browserslist": {
    "production": [
      ">0.2%",
      "not dead",
      "not op_mini all"
    ],
    "development": [
      "last 1 chrome version",
      "last 1 firefox version",
      "last 1 safari version"
    ]
  },
  "devDependencies": {
    "@babel/plugin-transform-async-to-generator": "^7.12.1",
    "react-router-dom": "^5.2.0",
    "react-table-6": "^6.11.0"
  }
}

我的项目结构:

代码语言:javascript
复制
++node_modules

++public
+++index.html
+++manifest.json
+++robots.txt

++src
+++App.js
+++index.js
+++index.css

++package.json
++package-lock.json

您可以看到,我没有使用任何其他配置,我已经启动了使用创建-反应-应用程序命令的项目。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2021-01-25 17:57:52

反应输入-验证在构建文件夹下。但从错误来看,您似乎没有正确导入输入: E:\Projects\personal\rental-application\node_modules\react-validation**src\components\input**\index.js::SyntaxError对实验性语法'jsx‘的支持目前还没有启用(6:3):

请您核对一下您的进口单好吗?应该是这样的:

代码语言:javascript
复制
import Input from "react-validation/build/input";
票数 4
EN

Stack Overflow用户

发布于 2021-03-28 11:22:38

第一提案

正如线程中所建议的那样,运行bundle exec rails webpacker:install:react。它将自动将该位添加到babel.config.js中。您不需要手动做一些事情。

。。。。。。

第二项建议

您应该按照错误消息中的建议安装@babel/preset-react

利用国家预防机制:

npm install --save-dev @babel/preset-react

或使用纱线:

yarn add @babel/preset-react --dev

有关更多信息,请参阅我们的网站@babel/预设-反应。参考文献:https://github.com/babel/babel/tree/master/packages/babel-preset-react

。。。。。。

第三项建议

或者,如果第一个提议不起作用,正如这条线中所建议的那样,您应该更新babel.config.js,这样它就能工作了。因此,请按建议更新文件:

代码语言:javascript
复制
  presets: [
    ['@babel/preset-env', {targets: {node: 'current'}}],
    ['@babel/preset-react', {targets: {node: 'current'}}] // add this
  ]
};
票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/65880113

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档