[英]"Parsing error: Argument expression expected. eslint" with Typescript map function in React
从这行代码
{inputFields.map(if => <Input inputField={if} /> )}
我在单词地图上收到此错误
Parsing error: Argument expression expected.eslint
inputFields 位于表单内,该表单位于 div 内
<div>
<form>
{inputFields.map...}
</form>
</div
输入字段是一个数组
inputFields: InputField[]
这个答案表明这可能与打字稿版本有关。
在我的package.json
,我使用的是"typescript": "^3.8.3"
,但在右下角,我认为它是在说我使用的是 4.0.2 版?
当我点击那个数字时,我可以将数字更改为3.9.7
但这不会改变错误
我看到的其他答案与我使用 map 函数的用例无关
if
是 Javascript 中的关键字。 尝试重命名您的变量:
{inputFields.map(field => <Input inputField={field} /> )}
语句与表达式
表达式是解析为值的代码
const add = (a, b) => a + b
add(10, 20) // => 30
'Hello' // => 'Hello'
语句是使某事发生的代码
if (x < 10) // doesn't resolve
break // doesn't resolve
switch // doesn't resolve
因此,警告:““解析错误:期望的参数表达式。eslint”告诉您需要一个表达式(解析为值的东西),但您已经传递了一个语句(无法解析为值)
您不能将语句分配给变量,只能分配表达式。
您不能使用带有关键字的变量,例如 if 或 var 作为 js 中的变量,因此您需要重命名变量的名称,因为它应该可以工作
{inputFields.map((data)=> <Input inputField={data} /> )}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.