Olá Pedro, tudo bem?
Você pode tentar utilizar uma estrutura condicional para verificar se o Snackbar está aberto ou fechado e, assim, alternar o valor da propriedade "setOpenSnackbar".
Você pode fazer isso utilizando o operador ternário. Por exemplo:
const handleClick = () => {
setOpenSnackbar(prev => !prev);
}
return (
<div>
<button onClick={handleClick}>Comprar</button>
{openSnackbar ? <Snackbar open={openSnackbar} /> : null}
</div>
);
No exemplo acima, a função handleClick é chamada toda vez que o botão "Comprar" é clicado. Ela utiliza a função prev do useState para alternar o valor da propriedade "openSnackbar".
Em seguida, é feita uma verificação condicional utilizando o operador ternário. Se "openSnackbar" for verdadeiro, o componente Snackbar é renderizado com a propriedade "open" setada como verdadeira. Caso contrário, o componente não é renderizado.
Espero ter ajudado e bons estudos!