react filter eslint error: unexpected block statement surrounding arrow body
react filter eslint error: unexpected block statement surrounding arrow body
我正在尝试过滤反应中的数组。这是我的代码:
resultArray = myArray.filter((item) => {
return item.children.length === 0;
});
这给了我一个 eslint 错误:
Unexpected block statement surrounding arrow body
所以我将大括号换成了括号:
resultArray = myArray.filter((item) => (
return item.children.length === 0;
));
这让我在突出显示 return
.
时出现意外的标记错误
正确的做法是什么?
因为是一个单一的表达式,你可以这样做:
resultArray = myArray.filter((item) => item.children.length === 0);
是的,正如@DanielSchneider 已经说过的那样:
您可以使用 shorthand(或称为 lambda)箭头函数,如下所示:
resultArray = myArray.filter(
item => item.children.length === 0 //this is the lambda function
);
因为它是单个表达式和一个 return 值(即使 return 值未定义),您可以使用简写箭头函数。它总是 return 表达式的结果(甚至未定义)。
我正在尝试过滤反应中的数组。这是我的代码:
resultArray = myArray.filter((item) => {
return item.children.length === 0;
});
这给了我一个 eslint 错误:
Unexpected block statement surrounding arrow body
所以我将大括号换成了括号:
resultArray = myArray.filter((item) => (
return item.children.length === 0;
));
这让我在突出显示 return
.
正确的做法是什么?
因为是一个单一的表达式,你可以这样做:
resultArray = myArray.filter((item) => item.children.length === 0);
是的,正如@DanielSchneider 已经说过的那样:
您可以使用 shorthand(或称为 lambda)箭头函数,如下所示:
resultArray = myArray.filter(
item => item.children.length === 0 //this is the lambda function
);
因为它是单个表达式和一个 return 值(即使 return 值未定义),您可以使用简写箭头函数。它总是 return 表达式的结果(甚至未定义)。