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

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.