2
respostas

Erro: props.criarPerfil.map não é uma função

Estou tendo dificuldades para intender essa parte do code:

Passei criarPerfil como propriedade dentro das props de time

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

  const aoNovoColaboradorCadatrado = (colaborador) => {
    console.log(colaborador);
    setColaboradores(...colaboradores, colaborador)

  }
  return (
    <div className="App">
      <Banner></Banner>
      <Formulario nomeDosTimes={times.map(times => times.nome)} aoColaboradorCadastrado={colaborador => aoNovoColaboradorCadatrado(colaborador)}></Formulario>

      {times.map(times => <Time
        nome={times.nome}
        key={times.nome}
        corDeFundo={times.corSecundaria}
        corSobresaliente={times.corPrimaria}
        criarPerfil={colaboradores}>
      </Time>)}
    </div>
  );

porém quando leio em times:

{props.criarPerfil.map(Perfil => <Perfil/>)}

após testo no navegador acusa o erro:

props.criarPerfil.map não é uma função
TypeError: props.criarPerfil.map não é uma função
no momento

Pode ser que eu esteja me confundido em alguma parte pois na aula está com muito nome "duplicado" colaboradores para props e para const isso está me confundindo um pouco. Alguém sabe o que pode ser?

2 respostas

Consegui encontrar o erro:

setColaboradores(...colaboradores, colaborador)

setColaboradores está retornando algo inesperado ou um objeto eu acho ahahaha
correção:

setColaboradores([...colaboradores, colaborador])

Oi, Luden!

Parabéns por encontrar e corrigir o erro! Mandou muito bem na análise.

Essa habilidade de investigar o próprio código é super importante. Continue assim!

Bons estudos!

Sucesso

Imagem da comunidade