反应过滤器eslint错误:围绕箭头体的意外阻止语句

时间:2017-08-28 18:34:43

标签: reactjs eslint

我试图在反应中过滤数组。这是我的代码:

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时,这会给我带来意外的令牌错误。

正确的方法是什么?

2 个答案:

答案 0 :(得分:2)

因为是单个表达式,您可以执行以下操作:

resultArray = myArray.filter((item) => item.children.length === 0);

答案 1 :(得分:1)

是的,因为@DanielSchneider已经说过:

您可以使用速记(或称为lambda)箭头功能,如下所示:

resultArray = myArray.filter(
  item => item.children.length === 0 //this is the lambda function
);

因为它是单个表达式和返回值(即使返回值未定义),您可以使用短箭头功能。它将始终返回表达式的结果(甚至未定义)。