Получить данные из объекта в массиве - REACT NATIVE - PullRequest
0 голосов
/ 02 апреля 2020

Я в настоящее время застрял, получая информацию от API погоды. Я могу получить данные, которые НЕ в массиве, а просто объект. Но массив ПОГОДЫ я не могу получить! Смотрите изображение! В консоли не отображается никаких ошибок!

это работает:

.then((json) => setData(json.coord))

<Text style={styles.h1}>{data.lon}</Text> 

Но попадания в погоду нет! Буду признателен за помощь!

Это не работает

Weather API

Извлечение данных из API и попытка получить json .weather

const Weather = () => {
  const [isLoading, setLoading] = useState(true);
  const [data, setData] = useState([]);

  useEffect(() => {
    fetch('https://api.openweathermap.org/data/2.5/weather?q=Rotterdam&appid=f7c5a6722f37c1cb782a66e9b904178')
      .then((response) => response.json())
      .then((json) => setData(json.weather))
      .catch((error) => console.error(error))
      .finally(() => setLoading(false));
  });



  return (
    <View>
      <NotiScreen/>
      <Text style={styles.h1}>{weather.id}</Text>
    </View>
  );
}

1 Ответ

0 голосов
/ 02 апреля 2020

Исправлено:

Изменение:

.then((json) => setData(json.weather))

Кому:

.then((json) => setData(json.weather[0]))

Текстовый элемент:

<Text style={styles.h1}> {data.main} </Text>

Раньше он не работал, потому что когда я попробовал этот метод, API заблокировал меня для слишком большого количества запросов!

...