web-dev-qa-db-fra.com

Chaînage en option non activé React Native

J'obtiens cette erreur lors de l'exécution du projet Android dans react react native.

Il s'agit d'une nouvelle installation de la version native de react "react": "^ 16.3.1", "react-native": "^ 0.57.1",

Il donne une erreur de chaînage optionnel. Quelqu'un peut-il m'aider à activer le chaînage facultatif dans React Native?.

Loading dependency graph, done.
BUNDLE [Android, dev] ....../index.js ▓▓▓▓▓▓▓▓▓▓░░░░░░ 64.3% (667/832)::ffff:127.0.0.1 - - [02/Oct/2018:04:30:46 +0000] "GET /index.delta?platform=Android&dev=true&minify=false HTTP/1.1" 500 - "-" "okhttp/3.10.0"
error: bundling failed: SyntaxError: C:\ReactNative\mrn\node_modules\react-native\Libraries\Components\Switch\Switch.js: Support for the experimental syntax 'optionalChaining' isn't currently enabled (103:41):

101 | // Support deprecated color props.
102 | let _thumbColor = thumbColor;

103 | let _trackColorForFalse = trackColor?.false;
| ^
104 | let _trackColorForTrue = trackColor?.true;
105 |
106 | // TODO: Remove support for these props after a couple releases.

Add @babel/plugin-proposal-optional-chaining (https://git.io/vb4Sk) to the 'plugins' section of your Babel config to enable transformation.
at _class.raise (C:\ReactNative\mrn\node_modules@babel\parser\lib\index.js:3939:15)
at _class.expectPlugin (C:\ReactNative\mrn\node_modules@babel\parser\lib\index.js:5253:18)
at _class.parseSubscript (C:\ReactNative\mrn\node_modules@babel\parser\lib\index.js:5959:12)
at _class.parseSubscript (C:\ReactNative\mrn\node_modules@babel\parser\lib\index.js:2716:51)
at _class.parseSubscripts (C:\ReactNative\mrn\node_modules@babel\parser\lib\index.js:5944:19)
at _class.parseSubscripts (C:\ReactNative\mrn\node_modules@babel\parser\lib\index.js:2669:52)
at _class.parseExprSubscripts (C:\ReactNative\mrn\node_modules@babel\parser\lib\index.js:5934:17)
at _class.parseMaybeUnary (C:\ReactNative\mrn\node_modules@babel\parser\lib\index.js:5903:21)
at _class.parseExprOps (C:\ReactNative\mrn\node_modules@babel\parser\lib\index.js:5812:21)
at _class.parseMaybeConditional (C:\ReactNative\mrn\node_modules@babel\parser\lib\index.js:5784:21)
BUNDLE [Android, dev] ....../index.js ▓▓▓▓▓▓▓▓▓▓▓▓░░░░ 77.5% (752/854), failed.
6
Vinay Sikarwar

Je l'ai corrigé en ajoutant un fichier .babelrc en racine

{
  "plugins": [
    "@babel/plugin-proposal-optional-chaining"
  ],
  "presets": [
    "react-native"
  ]
}

redémarrer metro après modification du fichier .babelrc

2
Vinay Sikarwar

L'erreur indique que pour ajouter @ babel/plugin-proposition-optional-chaining

Essayez d'installer ceci

npm install --save-dev @babel/plugin-proposal-optional-chaining
1
Jason Hong

J'ai également rencontré ce problème après la mise à niveau de mon application de l'ancienne version native de React vers la nouvelle. il a besoin de quelques bibliothèques babel dans devDependencies. voici mes devDependencies une fois l'essayer

  • "devDependencies": {"babel-jest": "23.6.0", "jest": "23.6.0", "metro-react-native-babel-preset": "0.50.0", "react-test- renderer ":" 16.6.1 "}," jest ": {" preset ":" react-native "}
0
ravi