Prezados,
estou tendo problema similar relatado pelo Caio em https://cursos.alura.com.br/forum/topico-erro-ao-utilizar-o-toast-do-materialize-css-114714. Ou seja, ao tentar utilizar o "Toast" do materialize os seguintes erros aparecem no momento da submeter o form e exibir as mensagens:
TypeError: Cannot read property 'jquery' of undefined
Toast._createToast
node_modules/materialize-css/dist/js/materialize.js:5173
5170 | toast.appendChild(this.message);
5171 |
5172 | // Check if it is jQuery object
> 5173 | } else if (!!this.message.jquery) {
| ^ 5174 | $(toast).append(this.message[0]);
5175 |
5176 | // Insert as html;
exibeMensagem
src/PopUp.js:9
6 | if(status === 'success')
7 | M.toast({ html: msg, classes: 'green', displayLength: 2000 });
8 |
> 9 | if(status === 'error')
| ^ 10 | M.toast({ html: msg, classes: 'red', displayLength: 2000 });
11 |
12 | }
View compiled
(anonymous function)
src/Formulario.js:106
103 | });
104 |
105 | camposInvalidos.forEach(campo => {
> 106 | PopUp.exibeMensagem('error', campo.mensagem);
| ^ 107 | });
108 | }
109 |
View compiled
Formulario.submitFormulario
src/Formulario.js:105
102 | return elem.isInvalid;
103 | });
104 |
> 105 | camposInvalidos.forEach(campo => {
| ^ 106 | PopUp.exibeMensagem('error', campo.mensagem);
107 | });
108 | }
View compiled
Refiz os códigos conforme o exercício duas vezes, mas não consegui resolver como o Caio. Já não tenho mais idéia do que está impedindo de funcionar.
Abaixo segue o meu PopUp.js
import M from 'materialize-css';
const PopUp = {
exibeMensagem: (status, msg) => {
if(status === 'success')
M.toast({ html: msg, classes: 'green', displayLength: 2000 });
if(status === 'error')
M.toast({ html: msg, classes: 'red', displayLength: 2000 });
}
}
export default PopUp;
No próximo post anexarei o código do meu Formulario.js ...