Реагируй на родную выборку ... Объясни, что мне 5 лет - PullRequest
0 голосов
/ 28 декабря 2018
export default class App extends Component {
  state = {
    data: []
  };

fetchData = async () => {
    const response = await fetch("https://randomuser.me/api?results=5"); // Replace this with the API call to the JSON results of what you need for your app.
    const json = await response.json(); 
    this.setState({ data: json.results }); // for the randomuser json result, the format says the data is inside results section of the json.
  }; 

Итак, у меня есть этот код в файле App.js для React Native.Randomuser.me - это веб-сайт, который просто дает вам случайных пользователей.Используя его в качестве тестового URL прямо сейчас.Я не совсем понимаю, что код делает достаточно, чтобы использовать его для других частей моего проекта.Мне удалось успешно отобразить результаты 5 пользователей, но теперь я хочу снова получить к ним доступ и перебрать атрибут данных состояния.

tldr;Могу ли я просто получить доступ к данным, которые я получил из выборки в цикле for, используя data [i]?Пожалуйста, порекомендуйте.Я хочу увидеть, соответствует ли пользовательский ввод любому из элементов в ответе, который хранится в атрибуте данных состояния.

1 Ответ

0 голосов
/ 29 декабря 2018

Ладно, тот трюк, который ты только что сделал, это фетч.Вы получаете данные из интернета."https://randomuser.me/api?results=5" - это API, существует множество различных API, и у каждого есть свой способ извлечения данных. Если вы добавите" https://randomuser.me/api?results=5" в свой браузер, вы увидитеJSON, некоторые API хранят данные в JSON, другие в формате массива.В этом случае у JSON есть только один дочерний элемент 'results', поэтому вы храните "json.results".

Это выборка.То, что вы хотите сделать, это просто JavaScript.Сохраните json.results в переменной, затем выполните итерации по ней

 var Results = json.results //store it in a variable
    for(var i = 0;i<Object.keys(Results).length;i++){ //iterate
      var CurrentUser = Results[Object.keys(Results)[i]] // i use this because some JSOn have random keys
      if(CurrentUser.gender==='male'){//if you meet a condition
      //do whatever you want
      }

}

, вы также можете использовать «.map», если это массив

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...