Black November

ATÉ 50% OFF

TÁ ACABANDO!

0 dias

0 horas

0 min

0 seg

Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

Duvida sobre useEffect

Boa noite pessoal, tudo bem? Estou colocando em prática os conhecimentos sobre consumo de api, eu estou com um problema para renderizar uns nomes de produtos que vem de uma api chamada Dummy json, está dando um erro no map.

import { useEffect, useState } from 'react';
import './App.css';

function App() {

  const [produtos, setProdutos] = useState([]);
  // const [busca, setBusca] = useState([]);
  console.log(produtos)


  useEffect(() => {

      fetch(`https://dummyjson.com/products`)
        .then(resp => resp.json())
        .then(dados => {
          setProdutos(dados)
        })

  }, [])


  return (
    <div>
      <h1>Bem-vindos a minha loja de produtos</h1>
      <ul>
        {produtos.map(item =>{
          return <li key={item.id}>{item.title}</li>
        })}
      </ul>
    </div>
  );
}

export default App;

Insira aqui a descrição dessa imagem para ajudar na acessibilidade Ela me retorna o array mas não consigo manipula-lo

Matricule-se agora e aproveite até 50% OFF

O maior desconto do ano para você evoluir com a maior escola de tecnologia

QUERO APROVEITAR
2 respostas
solução!

como demonstrado no console.log, o valor do state produtos não é um array, mas sim um objeto com as propriedades: products, total, skipe e limit. Caso deseje salvar apenas o array de produtos use:

fetch(`https://dummyjson.com/products`)
        .then(resp => resp.json())
        .then(dados => {
          setProdutos(dados.products)
        })

Cara muito obrigado!! Realmente dei mole de não me atentar a esse detalhe, muito bacana a troca de ideias por aqui! Abraço.