我遇到了VSCode错误"预期的表达式。ts(1009(",同时打开其中一个 reactjs 文件。 do
和if
以红色突出显示。但是我可以在本地开发环境中运行代码,编译也没有问题。我想这是由于 VSCode 编辑器错误。
其他编辑器如Atom或Sublime Text都可以。我在 React 中使用了三元操作来解决它,但如果else if
太多,事情就会变得非常复杂。
<div className='form'>
// Form stuffs
</div>
{
do{
if (hasBreakfast) {
<span>Breakfast Included</span>
} else if {
<span>Breakfast Not Included</span>
}
}
}
有没有方法可以解决VSCode中的警告?
就我而言,我使用三元条件收到这个Expression expected.ts(1109)
错误。
return (
<Fragment>
// JSX to render goes here...
</Fragment>
);
我在最后一行收到相同的错误。我添加了片段元素以强制返回 (( 接收一个父元素。您也可以通过将返回代码包装为"div"元素来实现此目的。但是,那里的问题是您将拥有随机的空"div"。
文档比我解释得更好。 https://reactjs.org/docs/fragments.html
do
表达式,如原始问题中使用的,如果你使用的是支持do
表达式提案的 babel 语法/插件,实际上是"有效的"JSX/JS 语法。VS Code 不满意的原因是 TypeScript 本身不支持该语法。如果它无论如何都可以在你的开发环境中工作,那可能是 Babel。
导入成本 VSCode 扩展 我遇到了此错误,刚刚卸载解决了我的问题。
if
语句需要一个表达式来断言是否应使用该代码块。
前任:
if (a === true) {
// do something
} else if (b === true) {
// do something else
}
如果您只想渲染Breakfast Not Included
则可以只使用else
而不使用if
。或者做一个三元更简单的
{
hasBreakfast ? <span>Breakfast Included</span> : <span>Breakfast Not Included</span>;
}