我在打开reactjs文件时遇到了VSCode错误“Expressionexpected.ts(1009)”。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中的警告有什么解决方法吗?
5条答案
按热度按时间jdgnovmf1#
我在最后一行收到了同样的错误。我添加了fragment元素来强制return()接收一个父元素。你也可以通过将你的返回代码 Package 成一个'div'元素来实现这一点。然而,这里的问题是你会有随机的空'div'。
医生解释得比我好https://reactjs.org/docs/fragments.html
mu0hgdu02#
do
表达式,正如在最初的问题中使用的,实际上是“有效的”JSX/JS语法if you're using the babel syntax/plugin that supports thedo
expression proposal。VS代码不满意的原因是因为TypeScript本身不支持该语法。如果它在您的开发环境中工作,那么again that's probably Babel。wgxvkvu93#
导入成本VSCode扩展我遇到了这个错误,刚刚卸载修复了我的问题。
hjqgdpho4#
if
语句需要一个表达式来Assert是否应该使用该代码块。例如:
如果你只想渲染
Breakfast Not Included
,你可以只使用else
而不使用if
,或者你可以使用ternary来简化它:xxb16uws5#
在我的情况下,我得到这个
Expression expected.ts(1109)
错误使用三元条件。