React Native 0.56提供对Optional Chaining Operator
即?.
的原生支持
但是,最新的VS Code稳定版本无法识别此语法并引发TypeScript验证错误:
[ts] Expression expected.
而没有引发任何compli-time或eslint错误。
我该如何解决?☹️
答案 0 :(得分:28)
VS Code 1.41 supports optional chaining。该支持包括语法突出显示和IntelliSense。
如果您使用的是VS Code 1.41+,并且可选链接无法正常工作,请尝试:
检查已安装的扩展。他们中的某些人可能还不了解可选链接,这可能会导致错误或语法突出显示错误
如果您是using a workspace typescript version,请确保它是TypeScript 3.7 +
答案 1 :(得分:11)
您可以安装JavaScript and TypeScript Nightly,然后重新打开VSCode。
答案 2 :(得分:1)
我刚刚解决了在vscode json设置中禁用js / ts验证的问题:
"javascript.validate.enable": false
您需要安装eslint-plugin-babel
来遵守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
}
}
答案 3 :(得分:1)
在卸载扩展JavaScript and TypeScript IntelliSense
之前,这种情况一直在我身上发生是的,如果仍然存在此问题,请检查卸载旧插件。您也可以尝试使用vscode insiders版本,并检查该版本是否在该版本中有效。它对我有效,无需进行任何更改。
答案 4 :(得分:1)
我的情况,我需要将 "tslint-config-prettier"
添加到 tslint.json
文件
这是我的 tslint.json
文件
{
"defaultSeverity": "error",
"extends": [
"tslint:recommended",
"tslint-config-prettier" # ----> This line
],
"jsRules": {},
"rules": {
"semicolon": false,
"quotemark": [true, "single"],
"prefer-for-of": false,
"object-literal-sort-keys": false,
"ordered-imports": false,
"interface-name": false,
"callable-types": false,
"no-console": false,
"no-bitwise": false,
"variable-name": [
true,
"allow-leading-underscore",
"allow-snake-case"
]
},
"rulesDirectory": []
}