Данные поступают, но не отображаются [Ниже приведен мой код useFetch. Я просто хочу отобразить детали задачи import {useEffect, useState} из «react»; const useFetch = url => {const [...

0
Amjad Niazi 15 Фев 2021 в 14:32

2 ответа

Лучший ответ

Поскольку вы возвращаете задачу как сам объект, вы не можете извлечь ее, а можете использовать как есть:

const todo = useFetch('http://localhost/todos/todosapi/todos/' + id);

Теперь вы можете получить доступ к свойствам.

Если вы хотите разрушить возврат, вам нужно снова обернуть ответ:

const getData = async () => {
    try {
        const response = await fetch(url)
        const data = await response.json();
        setData(data)
    } catch (error) {
        console.error("Error from Fetch:", error);
    }
  }
  return {todo: data};
 }

Чтобы уменьшить количество вызовов, которые вам нужно сделать, и кэшировать данные, проверьте response-query.

1
Domino987 15 Фев 2021 в 11:44

В:

const { todo } = useFetch('http://localhost/todos/todosapi/todos/' + id);

Вы пытаетесь получить доступ к свойству todo ответа на выборку.

Судя по ответу JSON на вкладке сети инспектора, похоже, что нет свойства todo. Возможно, поэтому он не определен.

0
tichopad 15 Фев 2021 в 11:41
66207263