3
respostas

Função sendo lida como Object

Olá!

Não estou entendendo o porque da minha function ser lida como objeto

Foto do console.logSegue o meu código

function App() {

  function deletarColaborador(){
    console.log("Deletar colaborador")
  };

  return (
    <div className="App">
      <Banner/>
      <Formulario times={times.map((time) => time.nome)} aoColaboradorCadastrado={colaborador => aoNovoColaboradorAdicionado(colaborador)}/>
      <section className='times'>
          <h1>Minha Organização</h1>
          {times.map((time,indice) => 
            <Time 
              key={indice} 
              nome={time.nome} 
              corPrimaria={time.corPrimaria} 
              corSecundaria={time.corSecundaria}
              colaboradores={colaboradores.filter( colaborador => colaborador.time == time.nome)}
              aoDeletar={deletarColaborador}
            />
          )}
      </section>

      <Rodape/>
    </div>
  );
}

export default App;
3 respostas

Salve Lury, boa noite! Então, eu não sei ao certo para te dar certeza em termos conceituais ok? Mas quando você passou o valor de aoDeletar={deletarColaborador}, você está passando ele como um objeto,ou seja ele entende que o que você espera dessa propriedade é que ela te dê um valor, mesmo sendo uma função, por isso ele te dá este retorno. Se você quer executar a função apenas, você poderia tentar dessa forma: aoDeletar = {() => (deletarColaborador)} assim você faz que a propriedade aoDeletar, seja um função e dentro dela, ela execute a função deletarColaborador.

Salve Gustado, tentei conforme a sua explicação. Mas, continua sendo passada como objeto.

Você passou ao deletar como props tanto no componente Time quanto Colaborador?