Então, e quanto a enviar isso? O botão enviar, é claro, está no nosso cabeçalho e, portanto,
você aprendeu como conectar o cabeçalho e o componente, fazemos
isso com a ajuda de parâmetros.
Então, adicionarei uma nova função aqui no componente de edição
de produto, o manipulador de envio pode ser o nome e, nessa função, quero fazer o que for necessário para
adicionar um produto ou atualizá-lo,
por isso precisamos despachar algumas ações Redux.
Por enquanto, vou apenas consolar o envio do registro aqui para que possamos ver isso sendo executado.
Agora precisamos passar esse manipulador de envio para nossos parâmetros e podemos fazer
isso com a ajuda do efeito de uso aqui, que eu mostrei anteriormente e também com o
retorno
de chamada de uso. dependências agora,
para que possamos usá-lo assim. Isso garante que essa função não seja recriada
toda vez que o componente for renderizado novamente e, portanto, evitamos
inserir um loop infinito e agora podemos executar o efeito use aqui para executar uma função após cada ciclo de renderização e
aqui, nossa dependência é o manipulador de envio que nunca mudanças, o
que significa que no momento isso é executado apenas uma vez, o que é ótimo, porque então podemos definir parâmetros
aqui, passar um objeto em que vinculamos o envio como uma chave para o manipulador de envio. Agora submit é um parâmetro que podemos recuperar aqui em
nosso cabeçalho; nossa função de envio pode ser buscada a partir de dados de navegação. navigation get param submit, essa é a tecla que acabei de configurar na função
de chamada e envio de parâmetros, portanto, o que deve ser
executado quando esse botão for pressionado, então aponto para a função de envio no final.
Agora, agora, também é necessária uma pequena alteração, use um retorno de chamada como esse para recriá-lo toda
vez que for renderizado novamente, precisamos passar o segundo argumento que deve ser um array
vazio, agora essa função nunca será recriada e agora evite um loop infinito.
Então agora, se formos para a tela do administrador, clique aqui e clique neste botão, você verá o envio aqui e, portanto,
funciona como deveria.