Использование каждого элемента из выборки API отдельно

Я получаю данные из API с помощью response, и мне нужно иметь возможность использовать каждый элемент отдельно от массива. Скажем, у меня в файле JSON 16 элементов, и я хотел бы знать, как лучше отфильтровать их, потому что мое текущее решение кажется глупым.

componentDidMount() {
     fetch(teamAPI)
    .then((teamResponse) => teamResponse.json())
    .then((teamfindresponse) => {
      console.info(teamfindresponse[1]);
      this.setState({
        team1:teamfindresponse[0],
        team2:teamfindresponse[1],
        ...,
        team16:teamfindresponse[15],
      })
    })
  }

Внутри рендера я делаю:

{
  this.state.team1.map((dynamicData, key) =>
    {dynamicData.name}
)}

Я понимаю, что отображение становится довольно бесполезным, поскольку есть только один элемент, но я не знаю других способов сделать это.

Заранее спасибо!

Ваш вопрос очень непонятный. Я не могу сказать, какой конечный результат вам нужен, или почему вы думаете, что представление данных в объекте, а не в виде массива, может помочь.

Quentin 10.04.2018 17:57

Вы можете дать более подробное описание? Например, какой json идет и как вы хотите это отдельно, и как @Quentin сказал, почему вам нужен массив?

Indrajeet Latthe 10.04.2018 18:00

JSON содержит данные с названием каждой команды, страной и контактным лицом. Моя конечная цель - получить из них список матчей. Например, я хотел бы показать название команды 4 и название команды 14, но мой метод фильтрации определенных элементов кажется плохим. Я, наверное, упускаю здесь что-то очень легкое.

Cuzto 10.04.2018 18:08

Итак, вам нужен json, например {"team1": {"country": "xyz", "contact": 123}, "team2": {"country": "‌ xyz", "contact": 123}}?

Indrajeet Latthe 10.04.2018 18:16

Ваша проблема - дублирование в team1:teamfindresponse[0], team2:teamfindresponse[1], ...?

Scott Sauyet 10.04.2018 18:20

В значительной степени да. Если бы я только что выполнил команду team: teamfindresponse, могу ли я отфильтровать n-й элемент внутри рендеринга или мне нужно отфильтровать их в функции ComponentDidMount, как я это сделал сейчас? Например, я считываю данные из API в команду: teamfindresponse. Теперь, когда я отображаю данные с помощью {dynamicData.name [0]}, я получаю первую букву имени, но как я могу получить полное имя n-го элемента? Извините, что я так плохо это объясняю: /

Cuzto 10.04.2018 18:30

Боюсь, я не понимаю в этом смысла. Вы можете упростить это дублирование с помощью чего-то вроде this.setState(teamfindresponse.reduce((teams, team, idx) => Object.assign(teams, {['team' + (idx + 1)]: team}), {})), но я не думаю, что это решает вашу основную проблему. Хотя, возможно, я ошибаюсь.

Scott Sauyet 10.04.2018 18:36

Что ж, я предлагаю вам сопоставить ответ в соответствии с потребностями, чтобы отфильтровать его или легко получить к нему доступ. Если у вас есть время, дайте ответ, чтобы мы могли дать лучшее предложение. И, конечно же, имя [0] даст вам первую букву, попробуйте только имя.

Indrajeet Latthe 10.04.2018 18:59
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
В настоящее время производительность загрузки веб-сайта имеет решающее значение не только для удобства пользователей, но и для ранжирования в...
Безумие обратных вызовов в javascript [JS]
Безумие обратных вызовов в javascript [JS]
Здравствуйте! Юный падаван 🚀. Присоединяйся ко мне, чтобы разобраться в одной из самых запутанных концепций, когда вы начинаете изучать мир...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
JavaScript Вопросы с множественным выбором и ответы
JavaScript Вопросы с множественным выбором и ответы
Если вы ищете платформу, которая предоставляет вам бесплатный тест JavaScript MCQ (Multiple Choice Questions With Answers) для оценки ваших знаний,...
0
8
29
0

Другие вопросы по теме