繁体   English   中英

“解析错误:预期的参数表达式。eslint”与 React 中的 Typescript 映射函数

[英]"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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM