在React中过滤特定的表行

时间:2018-11-14 02:33:48

标签: javascript reactjs react-native

我正在从API中获取一些数据,并将其显示为表格。

{
    name: 'firstName',
    cellProps: { numeric: false },
    header: 'First',
}, {
    name: 'lastName',
    cellProps: { numeric: false },
    header: 'Last',
}, {
    name: 'total',
    header: 'Total',

}, {
    name: 'country',
    cellProps: { numeric: false },
    header: 'Country',
},

然后我要使用reduce来计算总价值:

const dailytotal = dailySales.reduce((acc, { total }) => acc + total, 0);

现在我正在尝试根据国家/地区得出的每个国家/地区的总价值。

const CAfilter = dailySales.filter( { country } => {country} === 'CA');
const CAtotal = CAfilter.reduce((acc, { total }) => acc + total, 0);

我收到此错误:

Module build failed (from ./node_modules/babel-loader/lib/index.js):
SyntaxError: Unexpected token (49:9)

  47 |             country;
  48 |         }
> 49 |          === 'CA';
     |          ^
  50 |         ;
  51 |         const CAtotal = CAfilter.reduce((acc, { total }) => acc + total, 0);

2 个答案:

答案 0 :(得分:1)

在过滤器函数中,您什么都没有返回,您可以这样做

const CAfilter = dailySales.filter( ({ country }) => country.name === 'CA');

答案 1 :(得分:0)

const CAfilter = dailySales.filter( ({ country }) => country === 'CA');

如果箭头函数只有一个参数,则只能省略其括号。对象解构不算作单个参数。

然后,您还声明了一个新对象,本质上是:

{country: country}

当您真正想要的只是country的个人价值时。