2
respostas

[Dúvida] Dúvida em uma parte do código

Olá professor. Boa noite.

A minha dúvida pode ser boba, mas sou novato no React e achei um pouco estranho esta parte do código: App.js

function App() {
  const [colaboradores, setColaboradores] = useState([])

  const aoNovoColaboradorAdicionado = (colaborador) => {
    console.log(colaborador)

    setColaboradores([colaboradores, colaborador])
  }

  return (

    <div className="App">
      <Banner />
      <Formulario aoColaboradorCadastrador={colaborador => aoNovoColaboradorAdicionado(colaborador)} />
    </div>
  );
}

Nesta linha que realmente não entendi:

<Formulario aoColaboradorCadastrador={colaborador => aoNovoColaboradorAdicionado(colaborador)} />

Poderia me explicar parte por parte eu realmente achei estranho esta parte....

2 respostas

Salve, João!

Vamos lá, começando por analisar a sintaxe de uma arrow function:

colaborador => aoNovoColaboradorAdicionado(colaborador)

Isso é o mesmo que criar uma função assim:

function adicionarColaborador (colaborador) {
    aoNovoColaboradorAdicionado(colaborador)
}

Só que estamos definindo a função no momento em que a passamos como prop.

Consegui te ajudar a entender melhor o que está acontecendo ali? Resumidamente, estamos recebendo um colaborador por parâmetro e chamando uma outra função.

Boa noite professor.

Obrigado pela ajuda. Consegui entender esta parte.