Guia Dev
Photo
Assim que o usuário faz login em nossa aplicação, geralmente as páginas que ele pode acessar são completamente diferentes.
⠀
No React Navigation podemos controlar isso criando uma função que recebe a informação se o usuário está logado ou não e aí retorna uma stack de rotas baseado nessa informação.
⠀
O uso do Switch Navigator faz com que a navegação entre páginas logadas/deslogadas não produza nenhum efeito visual e não permita voltar à página anterior, garantido que após logado ou deslogado o usuário não possa retornar.
⠀
No React Navigation podemos controlar isso criando uma função que recebe a informação se o usuário está logado ou não e aí retorna uma stack de rotas baseado nessa informação.
⠀
O uso do Switch Navigator faz com que a navegação entre páginas logadas/deslogadas não produza nenhum efeito visual e não permita voltar à página anterior, garantido que após logado ou deslogado o usuário não possa retornar.
CollabCode:
Nas lives surpresas que tenho feito, foco em trocar conhecimento sobre Coisas do #JavaScript Moderno. Temos vídeos sobre:
- var, let e const
- Template String
- Tagged Template String
- Arrow Function
As lives que já foram e as que virão estão
https://www.youtube.com/playlist?list=PLirko8T4cEmzs-mQkPO_vxfPxRZ1Wv5_m
Nas lives surpresas que tenho feito, foco em trocar conhecimento sobre Coisas do #JavaScript Moderno. Temos vídeos sobre:
- var, let e const
- Template String
- Tagged Template String
- Arrow Function
As lives que já foram e as que virão estão
https://www.youtube.com/playlist?list=PLirko8T4cEmzs-mQkPO_vxfPxRZ1Wv5_m
YouTube
Enjoy the videos and music you love, upload original content, and share it all with friends, family, and the world on YouTube.
Forwarded from queroser.ninja
Pra você que quer aprender mais sobre JS, amanhã faremos um meetup online, das 20h às 21h (horário de Brasília), pra falar um pouco mais sobre métodos de array, e tirar dúvidas sobre o assunto!
Se inscreva no nosso canal e ative o lembrete pra não esquecer:
https://www.youtube.com/watch?v=Dy1VDtPxCp0
O link da parte 1 está na descrição do vídeo! Te vejo por lá amanhã :D
Se inscreva no nosso canal e ative o lembrete pra não esquecer:
https://www.youtube.com/watch?v=Dy1VDtPxCp0
O link da parte 1 está na descrição do vídeo! Te vejo por lá amanhã :D
YouTube
JavaScript: métodos de array (parte 2) - Fernando Daciuk
Parte 1:https://www.youtube.com/watch?v=GDZswgpSYQg
Forwarded from queroser.ninja
🚨
Oi Pessoal! Só passando aqui pra relembrar que os cursos JavaScript Ninja, React Ninja e Git e GitHub Ninja estão em promoção somente até dia 31/12, ok? :D
É a última promoção do ano :D
Então corre pra aproveitar: 🏃 🏃
https://queroser.ninja/promocoes
Oi Pessoal! Só passando aqui pra relembrar que os cursos JavaScript Ninja, React Ninja e Git e GitHub Ninja estão em promoção somente até dia 31/12, ok? :D
É a última promoção do ano :D
Então corre pra aproveitar: 🏃 🏃
https://queroser.ninja/promocoes
Promoções
Fique ligado nessa página para aproveitar as promoções dos cursos Ninja!
Forwarded from queroser.ninja
#javascript
Agora com a nova feature
Mas nem tudo são flores: com Promises, nós tratamos os erros usando o método
Mas tem uma forma de contornar isso, vou te mostrar :D
Imagine que seu código hoje, usando
Dá pra elimir esse
Dá uma olhada nessa função
E, se por acaso der algum erro, nós retornamos um array com o erro no primeiro índice desse array.
E para usar essa função
Olha a diferença que ficou nossa função! Veja que na função
E esse array tem um padrão: o primeiro indice é sempre o objeto de erro. Se a promise resolve sem problemas, então nós passamos
Se der erro, só passamos o
Agora, para usar o
Como já tratamos o erro dentro da função
Super legal, não? :D
Eu tenho usado bastante essa ideia nos meus projetos!
A fonte foi esse artigo aqui: https://blog.grossman.io/how-to-write-async-await-without-try-catch-blocks-in-javascript/
Agora com a nova feature
async / await no JavaScript - que é um _sugar_ para Promises - nosso código pode ficar muito menor e mais legível =)Mas nem tudo são flores: com Promises, nós tratamos os erros usando o método
.catch. Como async / await simula um comportamento síncrono, a forma de tratar erros fica no estilo mais "tradicional", usando try / catch, o que é bem feio xDMas tem uma forma de contornar isso, vou te mostrar :D
Imagine que seu código hoje, usando
async / await, está assim:async function func () {
try {
const result = await promiseFunction()
// aqui vc faz alguma coisa com o resultado
} catch (e) {
console.error(e) // se der algum erro, vai cair aqui
}
}Dá pra elimir esse
try / catch de uma forma bem elegante, olha só:function to (promise) {
return promise
.then((result) => [null, result])
.catch((error) => [error])
}Dá uma olhada nessa função
to: Ela recebe uma promise, e aguarda o resultado dela - usando o .then. Quando a promise for resolvida, então nós retornamos um array com dois valores: null no primeiro índice, e o resultado - result - no segundo índice.E, se por acaso der algum erro, nós retornamos um array com o erro no primeiro índice desse array.
E para usar essa função
to, nós fazemos dessa forma:async function func () {
const [error, result] = await to(promiseFunction())
if (error) {
return console.error(e) // se der algum erro, vai cair aqui
}
// aqui vc faz alguma coisa com o resultado
}Olha a diferença que ficou nossa função! Veja que na função
to, nós já tratamos o erro usando .catch, então, se a promise resolver sem problemas, ou der erro, o próximo .then vai receber esse valor. No caso, o próximo .then vai receber o array retornado, ou pelo primeiro .then da função to, ou pelo .catch.E esse array tem um padrão: o primeiro indice é sempre o objeto de erro. Se a promise resolve sem problemas, então nós passamos
null no primeiro índice desse array, e o resultado no segundo.Se der erro, só passamos o
error no primeiro índice, e como não passamos o result, ele vai ser undefined :)Agora, para usar o
to, dentro da função func, nós só precisamos envolver nossa promise com essa função, e o retorno disso já vai ser um array!Como já tratamos o erro dentro da função
to, não precisamos do try/catch. Se der algum erro, esse erro vai estar na variável error, no primeiro índice do array onde criamos as variáveis error e result, utilizando a técnica de destructuring assignment :DSuper legal, não? :D
Eu tenho usado bastante essa ideia nos meus projetos!
A fonte foi esse artigo aqui: https://blog.grossman.io/how-to-write-async-await-without-try-catch-blocks-in-javascript/