简体   繁体   中英

Optional-Chaining does not work in create-react-app

In a create-react-app project, I am using @babel/plugin-proposal-optional-chaining in my `.babelrc

However, I have this error: Module parse failed: Unexpected token (22:16) You may need an appropriate loader to handle this file type.

This is all my babel dependencies:

{
  "dependencies": {
    "@babel/core": "^7.9.0",
    "@babel/node": "^7.8.7",
    "@babel/plugin-external-helpers": "^7.8.3",
    "@babel/plugin-proposal-class-properties": "^7.8.3",
    "@babel/plugin-proposal-decorators": "^7.8.3",
    "@babel/plugin-proposal-json-strings": "^7.8.3",
    "@babel/plugin-proposal-object-rest-spread": "^7.9.5",
    "@babel/plugin-proposal-optional-chaining": "^7.9.0",
    "@babel/plugin-syntax-dynamic-import": "^7.8.3",
    "@babel/plugin-syntax-import-meta": "^7.8.3",
    "@babel/plugin-transform-async-to-generator": "^7.8.3",
    "@babel/plugin-transform-modules-commonjs": "^7.9.0",
    "@babel/plugin-transform-react-constant-elements": "^7.9.0",
    "@babel/plugin-transform-react-inline-elements": "^7.9.0",
    "@babel/plugin-transform-runtime": "^7.9.0",
    "@babel/polyfill": "^7.8.7",
    "babel-plugin-add-module-exports": "^1.0.2",
    "babel-plugin-array-includes": "^2.0.3",
    "babel-plugin-inline-react-svg": "^1.1.1"
  }
}
  • node v14.0.0
  • npm 6.14.4
  • react-scripts 2.1.8

What else do I need in order to get this to work?

You only need to make sure you have installed react-scripts 3.3.0+ version as it already comes with optional chaining built-in:

const obj = { a: `Hello` };

// Hello World
const App = () => {
  return (
    <>
      {obj?.a}
      {obj?.b ?? ` World`}
    </>
  );
};

编辑 nice-paper-74xbv

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM