1 00:00:02,400 --> 00:00:09,660 Agora que são mensagens de erro, receberemos mensagens de erro durante o desenvolvimento e lê-las é uma coisa muito importante, 2 00:00:09,660 --> 00:00:14,180 porque elas realmente podem nos ajudar a descobrir o que está errado. 3 00:00:14,310 --> 00:00:21,870 Agora vamos passar para erros que não necessariamente lançam mensagens de erro ou onde você precisa cavar um 4 00:00:21,870 --> 00:00:30,840 pouco mais para encontrar a causa raiz. Agora, por exemplo, digamos que no aplicativo. js, queríamos descobrir se 5 00:00:30,840 --> 00:00:39,390 estávamos realmente excluindo o objetivo certo aqui. Para descobrir se é esse o caso, podemos consolar o log do 6 00:00:40,500 --> 00:00:50,900 nosso ID de objetivo aqui, talvez adicionar algum texto de informação como ser eliminado antes disso, para obtermos alguma informação sobre o que está a ser impresso aqui e 7 00:00:50,900 --> 00:00:59,840 depois temos a nossa lista de metas aqui, então essa é a lista sem o item ser excluído e, em seguida, gostaríamos de vê-lo depois 8 00:00:59,930 --> 00:01:03,360 de ser excluído, mas a maneira como essa função 9 00:01:03,770 --> 00:01:06,710 de estado definida funciona aqui no final, 10 00:01:06,710 --> 00:01:12,170 a maneira como o React atualiza o estado, imprimindo as metas do curso novamente nessa 11 00:01:12,170 --> 00:01:17,350 linha não nos fornecerá as metas do curso já atualizadas, em vez disso, elas 12 00:01:17,370 --> 00:01:20,390 só serão atualizadas no próximo ciclo de renderização. 13 00:01:20,390 --> 00:01:23,480 Então não vamos ver as metas do nosso curso, mas isso não é 14 00:01:23,480 --> 00:01:30,860 problema, só precisamos registrar isso em um lugar diferente, registramos isso aqui mesmo em nosso componente. Lá registramos as metas do curso e todo este 15 00:01:30,860 --> 00:01:35,920 componente será renderizado novamente quando atualizarmos as metas do nosso curso com esta linha, 16 00:01:35,920 --> 00:01:36,630 então 17 00:01:36,730 --> 00:01:46,090 isso será reexecutado, então talvez possamos também adicionar um pequeno log de console, componente de re-renderização, para que possamos saibam que a lista de metas do 18 00:01:46,090 --> 00:01:54,370 curso que estamos imprimindo após essa é a lista após cada ciclo de re-renderização, enquanto a lista de metas do curso que estamos 19 00:01:54,610 --> 00:01:59,890 imprimindo depois de ser excluída é a lista de metas do curso antes de excluirmos 20 00:01:59,890 --> 00:02:04,270 uma meta do curso Adicionamos algumas instruções de log do console que 21 00:02:04,270 --> 00:02:10,390 nos permitem mergulhar no fluxo de nosso código. Com isso, se eu salvar isso, o aplicativo reinicia e já vemos 22 00:02:10,480 --> 00:02:14,650 o componente de re-renderização que faz sentido, está sendo renderizado na primeira vez e vemos que temos uma 23 00:02:14,650 --> 00:02:17,210 matriz vazia que também faz sentido porque não adicionamos nada. 24 00:02:17,320 --> 00:02:26,400 Agora vamos adicionar um novo objetivo, talvez aqui no Android, terminar o curso. Se fizermos isso, vemos o componente renderizar 25 00:02:26,470 --> 00:02:33,810 novamente, faz sentido porque adicionamos algo e, mais importante, para a outra reprocessação onde 26 00:02:33,810 --> 00:02:39,810 adicionamos um item, vemos esse item aqui na matriz, também vemos 27 00:02:39,810 --> 00:02:51,780 o ID de esse item e o valor que parece certo. Agora vamos adicionar outro item talvez, aprender Reagir Nativo e adicionar isso e ver 28 00:02:51,780 --> 00:02:55,350 isso aqui, agora vemos que é uma matriz 29 00:02:55,350 --> 00:03:01,770 com dois itens se expandirmos isso aqui. Então, agora podemos analisar nosso código e agora vamos excluir um item clicando nele e 30 00:03:01,770 --> 00:03:07,560 vamos excluir o término do item do curso com o ID 0. 818 e assim por diante. 31 00:03:08,310 --> 00:03:11,070 Então, se eu clicar terminar o curso, você 32 00:03:11,070 --> 00:03:14,380 verá que ele é removido, então parece funcionar corretamente e nosso 33 00:03:14,400 --> 00:03:20,940 log de console confirma isso, estamos processando novamente, estamos re-renderizando nosso array apenas com esse ID, então com o outro item 34 00:03:20,940 --> 00:03:25,830 que nós não deletamos e lá em cima, nós vemos para ser deletado é esse ID 35 00:03:25,950 --> 00:03:29,220 aqui, esse log é proveniente dessa linha antes de ser 36 00:03:29,250 --> 00:03:35,490 deletado, então ele ainda está incluído mas para o próximo ciclo de re-renderização, vemos que este ID aqui não é 37 00:03:35,490 --> 00:03:36,320 mais incluído. 38 00:03:36,390 --> 00:03:38,250 Claro, isso é um exemplo inventado, 39 00:03:38,250 --> 00:03:43,290 é claro que estamos nos comportando corretamente aqui, mas simplesmente imagine que você tem um fluxo mais complexo no 40 00:03:43,290 --> 00:03:48,540 código que deseja depurar, então essas instruções de log do console podem realmente ajudar você a entender como o código 41 00:03:48,540 --> 00:03:53,310 está sendo executado, com que frequência ele está sendo executado e se os valores corretos estão sendo usados. 42 00:03:53,520 --> 00:03:58,470 Portanto, as instruções de log do console podem realmente ser úteis se você as despejar em seu código, 43 00:03:58,470 --> 00:04:03,900 apenas não se esqueça de removê-las eventualmente para não sobrecarregar seu código com toneladas de instruções de log do console.