Curso React: Mensagens do Sistema - #25

Поделиться
HTML-код
  • Опубликовано: 2 фев 2025
  • НаукаНаука

Комментарии • 136

  • @marcoswendel5320
    @marcoswendel5320 Год назад +80

    Para quem não está conseguindo exibir a mensagem de sucesso e está usando navigate ao invés do history assim: navigate("/projects", {message: "Projeto criado com sucesso!" }) - Pode dar erro, pois o location.state não é reconhecido na navegação de rotas ao passar apenas o 'message' dessa forma, então no lugar dessa linha você vai colocar:
    Substitua: navigate("/projects", {message: "Projeto criado com sucesso!" })
    Por:
    const state = { message: "Projeto criado com sucesso!" };
    navigate("/projects", {state});
    Isso vai forçar o location.state a ser reconhecido no outro componente na navegação de rotas, sendo possível detectar se existe mensagem ou não e ai deve funcionar normalmente.

    • @lucasjacinto8440
      @lucasjacinto8440 Год назад

      Valeu mano 🤙

    • @franciscofilipe1591
      @franciscofilipe1591 Год назад +1

      deu super certo, valeu irmao

    • @tiagosardi8032
      @tiagosardi8032 Год назад

      Valeu demais

    • @AndersonLima-ff8be
      @AndersonLima-ff8be 11 месяцев назад

      o meu tá dando erro em e.preventDeFault falando que não é uma função

    • @binhosilva1988
      @binhosilva1988 10 месяцев назад

      @@AndersonLima-ff8be tenta usar e.preventDefault no caso, Default é uma palavra e vc usou camel case no F

  • @simeoneholanda6420
    @simeoneholanda6420 2 года назад +93

    para as pessoas q não estão conseguindo mostrar a messagem na tela coloquem isso aq
    history('/projects', { state: { message: 'Projeto criado com sucesso!' } }

    • @leonardogrillo7132
      @leonardogrillo7132 2 года назад +2

      Valeu Simeone!!

    • @sabrinaaraujo5476
      @sabrinaaraujo5476 2 года назад +2

      Obrigada por compartilhar! Não estava entendo oq tinha feito de errado rs

    • @marcoscappelli
      @marcoscappelli 2 года назад +1

      Valeu resolveu no meu projeto!

    • @Doisde10
      @Doisde10 2 года назад

      @@marcoscappelli me ajuda por favor mano akjfhaksjdfh
      cheguei nessa parte e a msg não quer aparecer

    • @Brieffc
      @Brieffc 2 года назад

      @@Doisde10 Conseguiu mano ? to travado aqui mesmo fazendo as alterações que o pessoal falou

  • @edsonmendesnunes
    @edsonmendesnunes 11 месяцев назад +3

    Senhores, no
    if (location.state) {
    message = location.state

    }
    eu tirei o .message e já resolveu o problema. Obs, estou usando o useNavigate.
    Boa continuidade no estudo pra vcs

  • @marceloartigas1032
    @marceloartigas1032 2 года назад +24

    para as pessoas q não estão conseguindo mostrar a mensagem na tela coloquem isso aq
    history('/projects', { state: { message: 'Projeto criado com sucesso!' } }

    • @tonhohawks
      @tonhohawks 2 года назад

      Obrigado, amigo! Funcionou aqui.

  • @LeonardoEich
    @LeonardoEich Год назад +13

    Caso alguem esteja fazendo e tendo problemas, o certo agora é importar 'useNavigate', e não 'useHistory'. Então, além de atualizar o import para import { useNavigate } from 'react-router-dom', tem que fazer como falaram em outros comentarios a atualização do comando para history('/projects',{state: {message: "Projeto criado com sucesso"}})

  • @curtiuseucomentario6203
    @curtiuseucomentario6203 2 года назад +44

    Pra quem encerrou a aula e ta começando em outro dia, n esqueça de dar npm run backend em outro terminal pro servidor rodar e aparecer as opções do select

    • @MatheusBattisti
      @MatheusBattisti  2 года назад +4

      acontece bastante xD

    • @curtiuseucomentario6203
      @curtiuseucomentario6203 2 года назад

      @@MatheusBattisti aconteceu cmg kkk

    • @devison1780
      @devison1780 2 года назад +1

      @@curtiuseucomentario6203 minhas opções select nem seleciona e porq coloquei o if ternário da forma da aula e nada

    • @curtiuseucomentario6203
      @curtiuseucomentario6203 2 года назад

      @@devison1780 As opções aparecem para serem selecionadas? Ou elas nem aparecem? Se elas não estiverem aparecendo, tenta dar um npm run backend em um terminal separado, ai elas devem aparecer.
      Se ainda não der, qualquer coisa me fala que eu tento te mandar a copia do código pra vc colar e ver se funciona

    • @devison1780
      @devison1780 2 года назад

      @@curtiuseucomentario6203 aparece sim só não seleciona

  • @raphaelcastr
    @raphaelcastr Год назад +1

    Finalmente resolveu aqui pra mim mudando a parte do useEffect no Message
    useEffect(() => {
    setVisible(!!msg);

    if (msg) {
    const timer = setTimeout(() => {
    setVisible(false);
    }, 3000);

    return () => clearTimeout(timer);
    }
    }, [msg]);

  • @GuilhermeOliveira-ny4md
    @GuilhermeOliveira-ny4md Год назад +1

    Muito obrigado por compartilhar seu conhecimento e muito obrigado para a galera que ajuda nos comentsss

  • @riquemi
    @riquemi Год назад +1

    Estava com o problema para demonstrar a mensagem também e fui dar uma pesquisada... E vi num fórum, para mim funcionou mudando a palavra "message" para "text"
    navigate('/Projects', {state:{text: 'Projeto criado com sucesso'}})
    Aí claro, muda message para text nos outros componentes também. Aqui resolveu!

    • @diego01manaus
      @diego01manaus Год назад +1

      realmente só funcionou aqui qd mudei pra text... que bruxaria foi essa?

    • @riquemi
      @riquemi Год назад

      No typescript to usando message, deve ser algo do tipo, sou leigo pra isso por enquanto kkkkkkkk @@diego01manaus

  • @vieiramaicon
    @vieiramaicon 2 года назад +1

    O useEffect tem como retorno void. Então por que retornar uma função? Outra dúvida, vc tá retornando uma função que se for executada, ele executa o clearTimeout, mas quando ela é executava?

  • @Franciel_fn
    @Franciel_fn 2 года назад +15

    eu tive um problema p exibir a mensagem, mas resolvi botando o message dentro de um state no arquivo NewProject.js
    de:
    navigate("/projects", message: "Projeto criado com sucesso!" });
    para:
    navigate("/projects", {state: { message: "Projeto criado com sucesso!" }});

    • @guilhermeviana6342
      @guilhermeviana6342 2 года назад

      Dessa forma resolveu aqui também, porém, ela sempre exibe ao carregar a página, mesmo se nao criar nada... quebrou o galho Porinquanto kk

    • @rafaelcunha2231
      @rafaelcunha2231 Год назад

      Resolveu aqui, valeu!

    • @leonardomiranda7758
      @leonardomiranda7758 Год назад

      Voce e um deus. obrigado ai! resolveu aqui

    • @melowmelow99
      @melowmelow99 7 месяцев назад

      Salva vidas

    • @LuisOtavio-dt8nu
      @LuisOtavio-dt8nu 4 месяца назад

      Obrigado

  • @thinkerhuh
    @thinkerhuh Год назад +1

    Esse projeto é bem pesadinho pra quem ta comecando kkkkkk... Mas bom demais, se conseguir fazer esse codigo funcionar sempre vai ter salvo e vai ajudar nos estudos e projetos futuros

  • @vieiramaicon
    @vieiramaicon 2 года назад +1

    Outra dúvida: há a necessidade de colocar a condicional na page Projects? Porque se não tiver mensagem, o component Message não irá exibir nada, não é?

  • @fernando171ster
    @fernando171ster 3 года назад +5

    Realmente ta puxado agora, mas estou focado! Parabéns pelas aulas.

    • @MatheusBattisti
      @MatheusBattisti  3 года назад +3

      dale Fernando, vai dar certo =D

    • @fernando171ster
      @fernando171ster 3 года назад +1

      @@MatheusBattisti amém! To adornado as aulas. Quero assistir a de js sua depois.

  • @mariodoncel1916
    @mariodoncel1916 3 года назад +1

    Não vejo porque lançar um clearTimeout, não seria necessario apenas no caso de um set Interval, ou há algum motivo que não conheço?

  • @emillyferrao29
    @emillyferrao29 Год назад +2

    Depois da ultima aula, só os fortes permanecem aqui KKKKKKKK

  • @cortespoliglota
    @cortespoliglota 2 года назад +11

    Essa eu passei facil, já fiz muitas modificações, mas a da aula de hoje foi usar o state { state: { message: "Projeto criado com sucesso" } }

  • @renatoazevedo9331
    @renatoazevedo9331 2 года назад +2

    Aula muito boa !!! Obrigado !!!

  • @mbs2488
    @mbs2488 Год назад

    Excelente ! Muito bem explicado ! ! Parabéns pelos vídeos ! ! !

  • @martchellogames2697
    @martchellogames2697 Год назад

    Cara qual extenção tu usa pra autocompletar as tags no jsx?

  • @michaelfaleiro
    @michaelfaleiro 2 года назад +2

    Pra quem apanhou na visualização da mensagem e já tinha alterado o navigate , eu consegui resolver.
    O problema estava no arquivo message.js nesse parte sempre erramos devido os acentos .
    substitua tudo por esse código abaixo.
    {visible && (
    {msg}
    )}

  • @MarceloHenrique-ts2ot
    @MarceloHenrique-ts2ot 2 года назад +1

    Opa pessoal. Dúvida rápida!
    Mesmo após corrigir o navigate consigo acessar o location.state e até imprimo a mensagem de sucesso ou erro!
    Mas ainda sim o react está me acusando um erro: "O objeto é do tipo 'desconhecido'."
    Estou usando react typescript

  • @wellingtonempreendendo4290
    @wellingtonempreendendo4290 3 года назад +5

    Minha mensagem não está aparecendo e o react não está reclamando de nenhum erro. já reassistir o vídeo várias vezes e meu código está tudo ok.

    • @robertopinheiro6916
      @robertopinheiro6916 3 года назад +1

      Comigo também!

    • @rickelmemaia4521
      @rickelmemaia4521 3 года назад +1

      Conseguiu resolver?

    • @wellingtonempreendendo4290
      @wellingtonempreendendo4290 3 года назад

      @@rickelmemaia4521 Infelizmente não, até desisti do projeto.

    • @biancaquintino5656
      @biancaquintino5656 3 года назад

      @@wellingtonempreendendo4290 olá Wellington, tudo bem? você tentou copiar o código lá no github?

    • @luisfcodes
      @luisfcodes 3 года назад +19

      É por conta das mudanças do react router v6, o que resolveu pra mim foi alterar o seguinte:
      No arquivo NewProject.js alterar o uso do useHistory para useNavigate, ficará desta forma(o que não for listado só manter igual a aula):
      const history = useNavigate()
      //Na parte do redirect
      history('/projects', {state: { message: 'Projeto criado com sucesso!'}})

  • @denysmichael1538
    @denysmichael1538 Год назад

    pra galera que não conseguiu exibir a mensagem, isso é um problema na atualização do state, deem uma olhada nos comentários que o pessoa explica como fazer as alterações!

  • @diogoalbertor.kirchoff5275
    @diogoalbertor.kirchoff5275 Год назад +1

    Não consegui fazer a mensagem aparecer corretamente. Mesmo após ler todos os comentários, fazer as substituições sugeridas, enfim.. mas não vou desistir do projeto, vou continuar o desenvolvimento, quem sabe mais adiante eu descubra em outro projeto como consertar e fazer aparecer corretamente.
    Desistir não é uma opção.

    • @anaamaral6855
      @anaamaral6855 Год назад +1

      Conseguiu corrigir? Tenta alterar o ficheiro NewProject.jsx Para const navigate = useNavigate()
      function createPost(project){
      .
      .
      .
      then((resp) => resp.json())
      .then((data) => {
      **navigate('/projects',{state: {message: 'Projeto criado com sucesso'}})**
      })
      .catch((err) => console.log(err))
      }

    • @diogoalbertor.kirchoff5275
      @diogoalbertor.kirchoff5275 Год назад

      @@anaamaral6855 consegui hehe, obrigado!!

  • @vieiramaicon
    @vieiramaicon 2 года назад

    Infelizmente a mensagem só exibe uma vez. Parece que se ficar criando projetos seguidas vezes, a mensagem não exibe porque não ocorreu alteração na mensagem. Acabei colocando o nome do projeto dentro da mensagem e funcionou. Mas nas alterações o problema persiste.

  • @DPM-TI--MatheusAnalistadesiste
    @DPM-TI--MatheusAnalistadesiste 3 года назад +1

    show suas aulas parabens

  • @ednilsonaraujo3059
    @ednilsonaraujo3059 Год назад

    Show!!!

  • @agenciaamorim3900
    @agenciaamorim3900 3 года назад +1

    Quando vai lançar o curso de reactjs completo

    • @MatheusBattisti
      @MatheusBattisti  3 года назад +2

      Esse vai demorar xD se pa, meados do ano que vem

    • @agenciaamorim3900
      @agenciaamorim3900 3 года назад +1

      @@MatheusBattisti já estou no aguardo

    • @MatheusBattisti
      @MatheusBattisti  3 года назад +1

      @@agenciaamorim3900 vai ter um projetao bem completo com React no de Node.js, o curso lança segunda =) para receber o cupom de lançamento se inscreve aqui Amorim: www.horadecodar.com.br/cursos-horadecodar/

    • @wand4rson
      @wand4rson 3 года назад

      @@MatheusBattisti Pode enviar o Link desse treinamento que terá o projeto em React ? E o Cupom

  • @marcosv733
    @marcosv733 3 месяца назад

    Modificação (14/10/2024):
    navigate('/projects', { state: { message: 'Projeto criado com sucesso!'}});

  • @hugorambo9410
    @hugorambo9410 2 года назад

    Alguma boa alma, tem o github dessa aula ?

  • @raphaelcastr
    @raphaelcastr Год назад

    Meus Projetos
    {message && }
    quando coloco assim, sem o msg, ele funciona certinho mas sem a mensagem, quando coloco o msg, ele nao aparece nada, indicando que o problema esta no useLocation que nao esta pegando a message corretamente.
    Alguem conseguiu a solução para essa parte?

  • @gabrielpapasideropavan
    @gabrielpapasideropavan 2 года назад

    To usando o github copilot junto enquanto faço o curso, e ele sugeriu até a mensagem de projeto criado com sucesso kkkkkk, deve estar puxando direto do repo esses pedaços de codigo... (edit: sugerindo cores hexadecimais tbm)

  • @cortespoliglota
    @cortespoliglota 2 года назад

    Ae professor, até agora consegui passar de todas as aulas mesmo tendo que resolver varios bugs, assim como posso mostrar isso para um avaliador, mostrar que consigo resolver qualquer problema rapidamente usando apenas o google?

    • @detarso7
      @detarso7 Год назад

      É por aí. Agora, eu só teria cuidado com o "resolver qualquer problema rapidamente usando apenas o google" Não é bem assim não. Esses Bugs aí são minúsculos.

  • @aiNeymar000
    @aiNeymar000 Год назад

    caso alguem esteja com problemas para aplicação de estilos está aqui import styles from './Message.module.css';
    function Message({ type, msg }) {
    // Determina a classe de tipo com base no valor passado para a prop "type"
    const messageTypeClass = type === 'success' ? styles.success : styles.error;
    return (
    {msg}
    );
    }
    export default Message;

  • @ericcoutinho3985
    @ericcoutinho3985 3 года назад +1

    👏👏👏

  • @primata83
    @primata83 3 месяца назад

    Visto

  • @zerielribeiro5787
    @zerielribeiro5787 3 года назад +1

    👍👏

  • @danielOliveDev
    @danielOliveDev 11 месяцев назад

    Tentei fazer com TypeScript me quebrei todo rsrsrs

  • @devison1780
    @devison1780 2 года назад +1

    Não aparece a mensagem , já mudei tudo de históry pra navigate e nada

    • @wemesonm
      @wemesonm 2 года назад

      pra mim tambem estava assim. isso 'e questao das atualizacoes do v6. Leia os comentarios acima, que voce ira conseguir resolver. valeu

  • @Brieffc
    @Brieffc 2 года назад

    Mesmo trocando o código como informado nos códigos abaixo ou colocando o mesmo código do repositório não estou conseguindo fazer a mensagem aparecer após criar o projeto. No console aparece que está chegando e no arquivo db.json aparece o arquivo criado. O mesmo não apresenta nenhum erro, alguém consegue dar uma luz ?

    • @tailanRK
      @tailanRK Год назад

      também estou com o mesmo erro

  • @geraldopcf
    @geraldopcf Год назад

    setInterval precisa de clearInterval caso queira parar o contador, agora setTimeout apenas é executado uma vez, entao nao se usa o clearInterval, o nome Interval já entrega tudo == intervalos enquando timeout é como se fosse limite de tempo, acabou acabou!!!

  • @maclaurinrocha2881
    @maclaurinrocha2881 3 года назад +2

    cara em ProjectForm tem a função ProjectForm nele tem destructuring com handleSubmit que vem de NewProject tem o btnText que tambem veio de NewProject porém temos o projectData , quem manda esta informação para o ProjectForm ? Ele vem do fetch de NewProject?

  • @uosp3.
    @uosp3. 2 года назад +1

    pqp, depois de muito queimar fosfato e fazer tudo que foi dito nos comentário descobri que minha msg não aparecia por um erro de sintaxe. O maledeto do useEffect estava faltando um 'f'.

  • @dehtona4629
    @dehtona4629 3 года назад

    Minha mensagem não apareceu

    • @uosp3.
      @uosp3. 2 года назад

      A minha tb não. Ja conseguiu resolver?

  • @BegaoNobrega
    @BegaoNobrega 3 года назад

    Estou com um probleminha na parte do useLocation.
    Eu fiz tudo direitinho, porem quando chega na parte do location ele não pega a mensagem que deveria pegar e não valida a criação do projeto.
    Tentei dar um console.log no objeto location e ele não mostra nenhum status, fica dessa forma:
    location:
    hash: ""
    key: "o5kn3djg"
    pathname: "/project"
    search: ""
    state: null
    Alguem poderia me ajudar ?

    • @renatoknot
      @renatoknot 3 года назад

      opa, faz a dica do amigo Joao Patrick Martins
      , no comentario acima

  • @LeSpaceHistory
    @LeSpaceHistory Год назад

    Quem vai chegar no fim do curso? R: EU!!!!! (...a aula anterior foi PUNK!!!!)

  • @Castorjean-l9w
    @Castorjean-l9w 9 месяцев назад

    cuidado ao usar : let message = '' "; como const.

  • @primata83
    @primata83 3 месяца назад

    Visto