Как суммировать поле на карте?

#javascript #next.js

Вопрос:

Я изо всех сил пытаюсь найти, как получить общее количество массива, возвращенного из вызова API. Я использую Next.js

 {positions.map(position => {
  return (
    <List
      title={position.title}
      slug={position.slug}
      quantity={position.quantity}
      position={position.position}
      price={position.transactionPrice}
      fees={position.fees}
      code={position.assetType.code}
      assetName={position.assetType.name}
      assetType={position.assetType.__typename}
    />
  );
})} 

Я хочу добавить все некоторые поля a (т. Е. сборы) вместе, чтобы отобразить их над списком, чтобы в нем отображалась общая сумма сборов за все записи. Мне уже говорили, что это невозможно сделать в вызове API GraphQL, так как же мне это сделать в Next.js / Отреагировать?

Я думаю, что мне нужно использовать функцию уменьшения массива, но я не знаю, как вписать ее в код или какой синтаксис? Придет ли это до возвращения()?

Ответ №1:

Вы можете получить итоговую сумму, используя команду уменьшить:

 const totalFees = positions.reduce((acc, el) => acc   el.fees, 0);
 

И вы можете добавить это в свой JSX, как вам заблагорассудится:

 <div>Total fees: {totalFees}</div>
 

Комментарии:

1. Так просто, и я просто не мог этого понять. Чувствую себя идиотом! Большое спасибо за это.