Как заполнить переменную пользователей данными из запроса GET в React

#reactjs #axios

Вопрос:

Я делаю запрос на вызов GET к API, чтобы получить некоторые данные в моем компоненте React и сохранить их в своей users переменной, но данные не сохраняются, я получаю undefined , когда я консоль.запишите это в журнал. Как я могу задать данные ответа из моего вызова GET и сохранить их в users переменной? Вот моя попытка:

  const [users, setPosts] = React.useState([]);

  useEffect(() => {
    fetch('https://jsonplaceholder.typicode.com/users')
      .then((response) => response.json())
      .then((data) => console.log(data));

    setPosts(users.data);
  }, []);
 

Ответ №1:

Вот как это должно быть, сделай это:

 const [users, setPosts] = React.useState([]);

  useEffect(() => {
    fetch('https://jsonplaceholder.typicode.com/users')
      .then((response) => response.json())
      .then((data) => setPosts(data););
  }, []);
 

Таким образом, вы устанавливаете свой users как data

Также в качестве hook rule вы должны определить свое состояние следующим образом const [users, setUsers] = useState()

Ответ №2:

В опубликованном коде вы не сохраняете данные для пользователей. Попробуй это:

 useEffect(() => {
fetch('https://jsonplaceholder.typicode.com/users')
  .then((response) => response.json())
  .then(setPosts);
}, []);