reactjs - “解析错误:需要参数表达式。eslint”与 React 中的 Typescript 映射函数
问题描述
从这行代码
{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
因此警告:““Parsing error: Argument expression expected.eslint”告诉你一个表达式(解析为一个值的东西)是预期的,但是你传递了一个语句(它不能被解析为一个值)
您不能将语句分配给变量,只能分配表达式。
推荐阅读
- django - 在内联字段Django中引发验证错误
- android - 为 Windows 构建 Android Studio 3.2.1
- php - 在 Json/PHP 中为数组命名
- multithreading - JavaFX FX 应用程序线程问题
- na - IT 公司是否期待表格 16?
- angular - 如何在 TypeScript 中测试 void 方法?
- android - Android - 片段/自定义视图和布局宽度/高度
- r - pid func 不适用于pairwiseAlignment R
- ios - 如何找到图像的高度和宽度并以纵横比拟合表格视图单元?
- swift - Swift 4:尝试连接两个字符串时,无法在属性初始化程序中使用实例成员“MAIN_URL”