O comportamento que você descreve pode estar relacionado ao gerenciamento de eventos no React. Quando você adiciona o evento onClick
diretamente ao componente BotaoPrincipal
, o evento é tratado pelo próprio componente e não pela div
que o envolve.
Se o componente BotaoPrincipal
não está configurado para passar o evento para seus elementos filhos ou não está configurado para lidar com eventos personalizados, o evento pode não ser propagado corretamente.
Quando você adiciona o evento diretamente à div
, está garantindo que o evento seja capturado na div
e, assim, é possível garantir que a função navegacao(-1)
seja chamada corretamente.
Para que o primeiro código funcione corretamente, você pode verificar se o componente BotaoPrincipal
está configurado para lidar com eventos ou se há alguma propriedade específica que permite passar eventos para os elementos internos.
Outra alternativa seria envolver o componente BotaoPrincipal
em um elemento que suporte eventos, como um div
ou span
, e adicionar o onClick
a esse elemento:
<div className={styles.botaoContainer} onClick={() => navegacao(-1)}>
<BotaoPrincipal tamanho={'lg'}>
Voltar
</BotaoPrincipal>
</div>
Isso garantirá que o evento seja capturado pelo elemento envolvente, mesmo que o componente interno não o suporte diretamente. Certifique-se de que o elemento envolvente não tenha estilos ou comportamentos indesejados que possam interferir na aparência ou funcionalidade do botão.