React fetch API не отображает никаких данных

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

Может ли кто-нибудь сказать мне, что происходит не так? Вот мой код:

const {useState, useEffect} = React;

const DataApiContext = React.createContext(null);

function DataApiProvider({children}) {
  const [data, setData] = useState(null);

  useEffect(() => {
    fetch('https://data.rivm.nl/covid-19/COVID-19_uitgevoerde_testen.json')
      .then((response) => response.json())
      .then(response => setData(response))
      .catch((error) => console.error(error));
  }, []);

  console.info(data)

  return (
    <DataApiContext.Provider value = {{data}}>
      {children}
    </DataApiContext.Provider>
  )
}

ReactDOM.render(<DataApiProvider />, document.getElementById('root'));
<script src = "https://cdnjs.cloudflare.com/ajax/libs/react/16.8.4/umd/react.production.min.js"></script>
<script src = "https://cdnjs.cloudflare.com/ajax/libs/react-dom/16.8.4/umd/react-dom.production.min.js"></script>
<div id = "root"></div>

Вы уверены, что проблема? Я просто запустил этот код, и он сработал. Загрузка данных заняла около 30 секунд, но это сработало.

Brian Thompson 09.04.2021 22:25

Что ж, для меня это показывает, что данные все еще нулевые

Jens Bouma 09.04.2021 22:29

Я обновил ваш вопрос, сделав его работающим примером. Помимо создания контекста и console.info, он остался без изменений. Если вы запустите его и подождите достаточно долго, он действительно сработает (вы можете получить несколько диалогов о не отвечающих страницах, выберите «Подождите»).

Brian Thompson 09.04.2021 22:32

О да, я вижу данные без памяти, но тогда я не знаю, что не так в моем приложении. Поскольку значение данных остается нулевым при использовании setData (data) внутри выборки

Jens Bouma 09.04.2021 22:35

Чтобы ответить на этот вопрос, я думаю, нам понадобится больше контекста. Где вы видите null? Это дочерний элемент компонента DataApiProvider?

Brian Thompson 09.04.2021 22:37

Хм, когда я делаю console.info (data) из переменной данных useState. Его следует заменить на тело ответа api. Ну, это было сначала, но не сейчас. Теперь он по-прежнему говорит null

Jens Bouma 09.04.2021 22:38

Я не понимаю. Тот же самый журнал консоли в вопросе восходит к тому, что в какой-то момент говорится о null?

Brian Thompson 09.04.2021 22:40

Да, верно, в console.info в вопросе будет указано значение null. Но когда я пытаюсь получить доступ к переменной данных внутри другого компонента, он все еще будет показывать const [data, setData] = useState (null), поэтому null

Jens Bouma 09.04.2021 22:43
Поведение ключевого слова "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
42
1

Ответы 1

Вы должны передать объект значения как объект.

<DataApiContext.Provider value = {data}>
    {children}
</DataApiContext.Provider>

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