How to enable optional chaining with Create React App and TypeScript
Create-React-App uses babel to transpile the TypeScript so it isn't using your npm installed version of TypeScript. Version 3.3.0 of react-scripts supports TypeScript 3.7. You can install it and use it with:
yarn add react-scripts@3.3.0
-or-
npm install -s react-scripts@3.3.0
React scripts 3.3.0 and above supports it. There is no need to install the react-scripts@next.
Just put in the package.json "react-scripts": "^3.3.0"
and it will work.
package.json
{ "scripts": { "start": "react-app-rewired start", "build": "react-app-rewired build", "test": "react-app-rewired test --env=jsdom" }, "devDependencies": { "@babel/plugin-proposal-optional-chaining": "^7.2.0", "customize-cra": "^0.4.1", "react-app-rewired": "^2.1.3" } ...other}
config-overrides.js
const { useBabelRc, override } = require('customize-cra');module.exports = override(useBabelRc());
.babelrc
{ "plugins": ["@babel/plugin-proposal-optional-chaining"]}