React Native 0.56 fournit un support natif de Optional Chaining Operator
c'est à dire ?.
Cependant, la dernière version stable de VS Code ne peut pas reconnaître cette syntaxe et générer une erreur de validation TypeScript:
[ts] Expression expected.
alors qu'aucune erreur de complie-time ou eslint n'a été levée.
Comment puis-je faire pour le réparer?
Mise à jour du 11/12/2019:
Le chaînage optionnel est officiellement supporté par TypeScript depuis 3.7! ????
Si vous rencontrez toujours cette erreur, la bibliothèque TypeScript livrée avec votre VSCode est probablement <3.7.
Vous pouvez le corriger simplement en installant la dernière version de TypeScript (> = 3.7) dans votre espace de travail. (par npm ou fil comme devs deps)
Ouvrez ensuite la palette de commandes, saisissez tstv
et changez la version TypeScript utilisée pour les fonctionnalités JS et TS de VS Code's Version à Version de Workspace (assurez-vous que c'est> = 3.7) et le tour est joué!
Ceci est certainement une fonctionnalité impressionnante, merci à tous et bon piratage!
VS Code 1.41 prend en charge le chaînage facultatif dans les fichiers JavaScript et TypeScript. Cette prise en charge inclut la coloration syntaxique et IntelliSense.
Si vous utilisez VS Code 1.41+ et que le chaînage facultatif ne fonctionne pas comme prévu, essayez:
Vérifiez vos extensions installées. Certains d'entre eux peuvent ne pas encore comprendre le chaînage facultatif, ce qui pourrait entraîner des erreurs ou une mauvaise coloration syntaxique
Si vous êtes en utilisant une version TypeScript de l'espace de travail , assurez-vous qu'il s'agit bien de TypeScript 3.7+
Vous pouvez installer JavaScript et TypeScript Nightly , puis rouvrir VSCode.
Je viens de résoudre le problème de désactivation de la validation js/ts dans les paramètres vscode json:
"javascript.validate.enable": false
Vous mon besoin d'installer eslint-plugin-babel
pour les règles eslint.
{
"plugins": [
"babel"
],
"rules": {
"babel/new-cap": 1,
"babel/camelcase": 1,
"babel/no-invalid-this": 1,
"babel/object-curly-spacing": 1,
"babel/quotes": 1,
"babel/semi": 1,
"babel/no-unused-expressions": 1,
"babel/valid-typeof": 1
}
}
Cela m'arrivait encore jusqu'à ce que je désinstalle l'extension JavaScript et TypeScript IntelliSense
Alors oui, vérifiez la désinstallation des anciens plugins si vous rencontrez toujours ce problème. Vous pouvez également essayer la version vscode insiders et vérifier si cela fonctionne dans celle-ci. Cela a fonctionné pour moi sans faire de changement.