web-dev-qa-db-fra.com

TypeScript 3.7.2 - La prise en charge de la syntaxe expérimentale 'optionalChaining' n'est pas actuellement activée

Dans mon projet, j'utilise TS 3.7.2 qui devrait prendre en charge le chaînage facultatif. Mais quand j'essaye de l'utiliser comme ça: const state = urlParams.state?.toString() j'obtiens l'erreur:

La prise en charge de la syntaxe expérimentale "optionalChaining" n'est actuellement pas activée

Ajoutez @ babel/plugin-proposition-optional-chaining ( https://git.io/vb4Sk ) à la section 'plugins' de votre configuration Babel pour activer la transformation.

J'ai vérifié les notes de publication et je n'ai vu aucune exigence concernant l'ajout d'options tsconfig pour cette fonctionnalité.

Je me demande si j'ai besoin du plugin et de la configuration babel lorsque j'utilise déjà TS, et comment dois-je corriger l'erreur?

10
flppv

Il semble que vous utilisiez une ancienne version de create-react-app.

Les versions antérieures à la v3.3 ne prennent pas en charge optionalChaining dans la configuration babel qu'il utilise.

Le support a été ajouté dans CRA v3.3. Voir les autres réponses pour savoir comment mettre à niveau.

10
Ben Clayton

Résolu avec un version de l'ARC v3.3. . Si quelqu'un a toujours la même erreur que dans le titre, assurez-vous d'avoir mis à jour react-scripts paquet.

8
flppv