2
respostas

[Dúvida] Lista inicial vazia = problema com id

Olá,

Seguindo a lógica da lista de colaboradores inicial ser vazia, implicando não termos nenhum colaborador ao carregar a página, surgiu um problema que estou tentando resolver mas ainda sem solução.

Na lista inicial, tínhamos :

const inicial = [
        {
          id: uuidv4(),
          favorito: false,    
          nome: 'JULIANA AMOASEI',
          cargo: 'Desenvolvedora de software e instrutora',
          imagem: 'https://www.alura.com.br/assets/img/lideres/juliana-amoasei.1647533644.jpeg',
          time: times[0].nome
        },
    // continua...

Se apagar essa lista inicial, e colocar meu state como vazio...

const [colaboradores, setColaboradores] = useState([]);

...ocorre um problema na hora de favoritar! Quando eu crio meus colaboradores agora e clico no ícone do coração, todos os colaboradores são favoritados/desfavoritados.

Estávamos inicialmente resolvendo comparando o id criado com o id já existente:

function resolverFavorito(id) {
        setColaboradores(colaboradores.map(colaborador => {
            if (colaborador.id == id) colaborador.favorito =! colaborador.favorito;
            return colaborador
        }))
    }

Agora sem a lista inicial, como consigo resolver esse problema do favoritar?

2 respostas

Também percebi esse problema, vou tentar resolver mudando a função de cadastrar um novo colaborador, adicionando o setId() como id: uuivd4();

Conseguiu resolver ?