1 00:00:02,260 --> 00:00:07,960 Por isso estou de volta neste aplicativo em que trabalhamos, este aplicativo de metas onde podemos adicionar alguns 2 00:00:07,960 --> 00:00:13,510 objetivos aqui e este é o código que escrevemos lá, eu não mudei nada lá dentro. 3 00:00:13,630 --> 00:00:19,370 Agora deixe-me mostrar as diferentes coisas que poderiam dar errado e como você as corrige. 4 00:00:20,290 --> 00:00:21,760 Então, vamos começar simples, 5 00:00:21,790 --> 00:00:28,930 digamos que temos um erro de sintaxe simples, aqui onde nós abrimos o nosso modal no final, definindo o 6 00:00:28,930 --> 00:00:30,000 modo add 7 00:00:30,040 --> 00:00:35,860 para true, deixe-me remover esse colchete de fechamento. Agora, isso é um claro erro de sintaxe, é um 8 00:00:35,860 --> 00:00:40,090 erro que podemos e devemos evitar totalmente, porque nós, como desenvolvedores, cometemos um erro claro. 9 00:00:40,090 --> 00:00:45,490 Agora, o bom é que até o nosso IDE reconhece isso e nos dá um aviso aqui, infelizmente, o 10 00:00:45,520 --> 00:00:47,890 erro que está mostrando aqui não é 11 00:00:47,890 --> 00:00:50,370 totalmente correto, ele diz que está esperando uma vírgula, 12 00:00:50,380 --> 00:00:54,120 bem, na verdade não é o problema real, o problema real é suporte ausente. 13 00:00:54,190 --> 00:00:57,160 Ainda assim, temos uma ideia de que algo está errado 14 00:00:57,160 --> 00:01:02,890 aqui e enquanto você ainda precisa pensar sobre o problema e você não pode usar essa solução cegamente olhando para 15 00:01:02,890 --> 00:01:06,700 esse código, em algum momento você deve descobrir que há um suporte faltando. 16 00:01:07,030 --> 00:01:12,670 Mesmo se você esquecer isso e você salvar isso, digamos, então o pacote Javascript será construído aqui, como 17 00:01:12,670 --> 00:01:18,520 você vê, eu lancei isso no Android e no iOS e agora estamos recebendo essa tela de erro vermelha 18 00:01:18,520 --> 00:01:20,440 que eu estava falando e novamente 19 00:01:20,800 --> 00:01:23,280 aqui, podemos simplesmente ler a mensagem de erro. 20 00:01:23,410 --> 00:01:29,780 Ele ainda está nos apontando para a solução errada, esperando uma vírgula, mas nos aponta para a linha de 21 00:01:29,830 --> 00:01:36,580 código correta, aqui você vê o título deste botão adicionar nova linha de meta, por isso ainda nos mostra onde 22 00:01:37,060 --> 00:01:41,170 devemos olhar e que a questão é provavelmente decorrente dessa linha. 23 00:01:41,170 --> 00:01:48,490 Nós recebemos o mesmo erro aqui neste console e também em nossas ferramentas expo dev aqui, você vê a mesma mensagem de erro 24 00:01:48,490 --> 00:01:53,470 também com uma dica na linha onde este erro está vindo, então você está recebendo um 25 00:01:53,470 --> 00:01:58,770 monte de ajuda para rastrear esse problema. Agora aqui, infelizmente ainda não está 26 00:01:58,780 --> 00:02:04,270 pegando que eu corrigi este erro e, portanto, aqui, vemos que caiu, no iOS 27 00:02:04,270 --> 00:02:05,650 no Android, não 28 00:02:05,650 --> 00:02:07,690 está recarregando. Agora no Android, 29 00:02:07,690 --> 00:02:10,000 vemos um comando que podemos usar para recarregar 30 00:02:10,090 --> 00:02:16,240 o aplicativo, podemos clicar lá ou pressionar r duas vezes para recarregar, mas ainda não está pegando a alteração aqui mesmo que 31 00:02:16,240 --> 00:02:18,010 eu tenha consertado isso no código, 32 00:02:18,010 --> 00:02:21,850 então uma solução aqui é simplesmente pare o pacote ou reinicie o npm start. 33 00:02:21,970 --> 00:02:27,910 Isso acontece raramente, mas às vezes isso quebra e simplesmente reiniciar esse processo de inicialização do npm 34 00:02:27,910 --> 00:02:29,480 é o que fazer 35 00:02:29,530 --> 00:02:35,500 e, com isso, vou executá-lo novamente no Android pressionando ae no iOS pressionando i e agora isso deve 36 00:02:35,570 --> 00:02:37,850 reiniciar o aplicativo nesses dispositivos . 37 00:02:37,870 --> 00:02:43,540 Mais uma vez, isso vai acontecer raramente, mas às vezes acontece e você pode apenas reiniciá-lo 38 00:02:43,540 --> 00:02:45,500 para que isso funcione corretamente. 39 00:02:45,520 --> 00:02:50,380 Agora com isso funcionando novamente, deixe-me mostrar um exemplo de uma mensagem de erro que você está recebendo onde você não tem 40 00:02:50,380 --> 00:02:53,800 um erro de sintaxe, mas você ainda tem um erro claro no seu código. 41 00:02:54,640 --> 00:03:02,830 Digamos que, quando adicionamos uma meta aqui com o título da meta, adicionamos uma verificação em que vemos se o tamanho do título da meta é maior 42 00:03:02,950 --> 00:03:09,520 que zero para verificar se o valor não está vazio ou se é igual a zero, o que significa que o usuário 43 00:03:09,520 --> 00:03:11,700 não Digite um título e, neste caso, 44 00:03:11,700 --> 00:03:17,740 acabamos de retornar, o que significa que não vamos adicionar esse objetivo aqui e também não vamos fechar o 45 00:03:17,740 --> 00:03:18,790 modal, então estamos 46 00:03:18,790 --> 00:03:21,610 apenas ignorando a entrada do usuário porque está vazia. 47 00:03:21,640 --> 00:03:23,130 Podemos querer mostrar uma 48 00:03:23,140 --> 00:03:26,470 mensagem de erro, mas por enquanto vamos apenas fazer assim. 49 00:03:26,540 --> 00:03:29,120 Agora, quando fazemos 50 00:03:29,120 --> 00:03:30,230 isso, 51 00:03:30,230 --> 00:03:37,400 geralmente funciona bem aqui, certo? Se eu salvar isso e voltarmos aqui, abra isso e eu clico em add, você vê que 52 00:03:37,430 --> 00:03:40,650 não posso adicionar um objetivo vazio, eu tenho que inserir algo para que isso desapareça. 53 00:03:40,670 --> 00:03:47,030 Agora digamos que em nosso componente de entrada de meta onde estamos buscando entrada do 54 00:03:47,030 --> 00:03:55,990 usuário, onde nós a encaminhamos chamando add goal aqui, nos esquecemos de fazer isso, nós encaminhamos null aqui ou não encaminhamos nada 55 00:03:55,990 --> 00:04:02,200 porque simplesmente esquecemos de adicionar isso aqui. Agora nosso aplicativo começa bem, ele não quebra imediatamente 56 00:04:02,200 --> 00:04:10,760 porque não temos um erro claro em nosso código, não há erro de sintaxe, mas se eu inserir algo aqui e clicar em adicionar, fico indefinido 57 00:04:10,820 --> 00:04:14,510 não é um objeto, avaliando o tamanho do título da meta 58 00:04:14,540 --> 00:04:18,170 e Novamente, esta é uma mensagem de erro que nos ajuda. 59 00:04:18,170 --> 00:04:24,680 Ele nos informa que o problema tem algo a ver com algo sendo indefinido e que está relacionado a essa verificação de 60 00:04:24,680 --> 00:04:27,280 tamanho de título de meta e, em seguida, 61 00:04:27,470 --> 00:04:33,130 você pode mergulhar no local em que acessa o tamanho do título de meta e rastrear o problema. 62 00:04:33,320 --> 00:04:39,020 Então, estamos tendo problemas para obter o tamanho do título da meta porque ele é indefinido como parece. Estamos chegando aqui, então o erro certamente não 63 00:04:39,020 --> 00:04:39,800 está 64 00:04:39,800 --> 00:04:45,320 aqui, mas vamos ao local onde o manipulador de meta de adição é chamado 65 00:04:45,320 --> 00:04:46,130 no final. 66 00:04:46,130 --> 00:04:51,620 Agora, se você lembra, estamos passando isso para o objetivo de adicionar aqui na entrada de meta, então 67 00:04:51,620 --> 00:04:56,780 provavelmente deveríamos ir para a entrada de meta que você também pode fazer mantendo o comando ou 68 00:04:56,780 --> 00:05:04,460 controle e clicando no nome do componente. Bem lá, nós chamamos add goal aqui e oh, aqui vemos o que é o erro. Agora, é claro, neste caso eu construí este 69 00:05:04,460 --> 00:05:08,360 erro aqui, mas você entendeu claramente, este é um erro que você 70 00:05:08,360 --> 00:05:13,790 poderia ter em seu código onde você esqueceu de adicioná-lo, onde você pode mudar a maneira como seu 71 00:05:13,790 --> 00:05:19,120 código funciona e você se esqueceu de ajustar em todos os lugares e, portanto, de repente você 72 00:05:19,130 --> 00:05:20,610 está recebendo esse erro. 73 00:05:20,720 --> 00:05:23,900 Agora, a mensagem de erro nos ajudou a encontrar o problema.