Como resolver problemas com SOLID? E o principal Anti-Pattern no ReactJS

  Рет қаралды 6,360

Dev Junior Alves

Dev Junior Alves

Күн бұрын

Пікірлер: 55
@devjunioralves
@devjunioralves 10 ай бұрын
👉Se liga nessas dicas: Estruturas de dados e algoritmos com JavaScript amzn.to/3hM0L1u Lógica de Programação e Algoritmos com JavaScript: amzn.to/48Cj65Z JavaScript: O Guia Definitivo: amzn.to/48jh9vp Como ser um programador melhor amzn.to/3POQ5fq Arquitetura Limpa (Clean Arch) amzn.to/3Viqw7v Clean Code amzn.to/3hHXVKY --- ✅ Segue lá no Instagram: instagram.com/devjunioralves/ ✅ Nossa comunidade no Discord: discord.com/invite/bVxW4Dhgrf
@alexnascimento8435
@alexnascimento8435 10 ай бұрын
Os princípios existem para sabermos quando não usá-los também. Em componentes pequenos como esse sem complexidade lógica é um over engineering desgraçado fazer isso. Parabéns pelo vídeo.
@CarlosSilva-hy8xt
@CarlosSilva-hy8xt 10 ай бұрын
Não fica tão complexo, basicamente vc invoca funções, e de qualquer forma os componentes vão escalar junto com o sistema.
@marcelo55850
@marcelo55850 4 ай бұрын
concordo
@ryancosta989
@ryancosta989 9 ай бұрын
Muito bom o vídeo, obrigado!
@CarlosSilva-hy8xt
@CarlosSilva-hy8xt 10 ай бұрын
ótimo video, como sempre trazendo conteúdo de ótima qualidade , aliás se puder trás mais conteúdo sobre testes.
@devjunioralves
@devjunioralves 10 ай бұрын
Show que curtiu Carlos! Quero trazer sim, é um conteúdo muito importante.
@junior777100
@junior777100 10 ай бұрын
Valeu!
@devjunioralves
@devjunioralves 10 ай бұрын
Opa meu amigo, muito obrigado!!! 👊
@danielvalmeida91
@danielvalmeida91 10 ай бұрын
Parabéns por mais esse vídeo Junior. Migrei recentemente para área e seus vídeos tem me ajudado muito !!!
@devjunioralves
@devjunioralves 10 ай бұрын
Opa, que show Daniel, fico feliz demais em saber disso! E que legal que você esta na área de desenvolvimento agora, qualquer dúvida que eu puder ajudar, só dizer.
@fernandazecchin1144
@fernandazecchin1144 10 ай бұрын
Sempre com conteúdos que ninguém passa!!! Muito obrigada, seus conteúdos me ajudam mto a entender muitos conceitos que são difíceis de encontrar por ai. Melhor conteúdo, SEMPRE!!! Parabéns
@renoinformatica4311
@renoinformatica4311 10 ай бұрын
Poderia trazer um vídeo sobre arquitetura micro front-end no Next.js?
@devjunioralves
@devjunioralves 10 ай бұрын
Quero trazer, mas leva um tempo, pois é um conteúdo mais complexo.
@CarlosSilva-hy8xt
@CarlosSilva-hy8xt 10 ай бұрын
cara, DIP, Factory Method e Composition mudaram meu código da água pro vinho.
@devjunioralves
@devjunioralves 10 ай бұрын
Exatamente, tenho a mesmo percepção, existe o antes e o depois no código.
@ricardobonin6717
@ricardobonin6717 10 ай бұрын
Mais uma vez ficou topp! parabéns!
@devjunioralves
@devjunioralves 10 ай бұрын
Valeu Ricardo!!!
@claytonjatoba
@claytonjatoba 10 ай бұрын
Fala Júnior, parabéns pelo conteúdo fenomenal como sempre. Uma sugestão de conteúdo que quero deixar, que é algo que tenho dificuldade de encontrar, é sobre a utilização de orientação a objetos no React, se é uma boa prática criar por exemplo abstrações para chamadas utilizando classes ou se é um problema olhando a tendência do React em seguir em uma estrutura mais voltada para hooks e na linha funcional, e quais seriam os pontos positivos e negativos das abordagens.
@gabrieldutra8155
@gabrieldutra8155 10 ай бұрын
Muito bom o video! Agora, gostaría muito de ver mais um episódio da saga formulários avançados. Onde seria usando o select e input radio. Mas usando o shadUI. Se puder fazer, agradeceria muito!!!
@devjunioralves
@devjunioralves 10 ай бұрын
Opa, que massa Gabriel! Posso fazer sim, essa lib de componentes é sensacional.
@gabrieldutra8155
@gabrieldutra8155 10 ай бұрын
@@devjunioralves Animei em ! Eu disse o input, mas é o radioGroup. Aguardarei ansioso!!
@NoSb0r100
@NoSb0r100 10 ай бұрын
Excelente!!!! Mas com relação ao use de muitos componentes separados não acaba ficando meio poluído a árvore de arquivos? Digo se eu tenho vários componentes muito pequenos mesmo assim tenho que separados em arquivos menores? Com 3 linhas? E outra esses componentes que acabam ficando muito específicos para o header é válido colocar eles em componentes dentro da própria pasta do header? Mesmo que eu utilize ele uma vez em outro lugar? Show! Vlw DevJunior
@robindark
@robindark 10 ай бұрын
Show
@devjunioralves
@devjunioralves 10 ай бұрын
Valeuuu!
@GCoder-sl1sq
@GCoder-sl1sq 10 ай бұрын
O caso de Single responsability casa perfeitamente com o segundo caso que tu mostrou, no primeiro caso eu achei meio Over engineering tipo voce ainda manter a responsabilidade das props no componente. Componentizar foi a melhor opção ao meu ver.
@devjunioralves
@devjunioralves 10 ай бұрын
Sim, o SRP é mais sobre motivos de mudança do que ter um único componente no arquivo.
@rodrigoadachi
@rodrigoadachi 10 ай бұрын
Legal, gosto de por em uma pasta com o nome do componente, e por um Index com os esportes de todos subcomponentes, daí utilizo
@devjunioralves
@devjunioralves 10 ай бұрын
Perfeito, curto muito essa estratégia também, sempre ter um index.ts para exportar o que for necessário.
@MarcosPaulo-zj7mh
@MarcosPaulo-zj7mh 10 ай бұрын
obrigado por isso
@JonasFrancoDev
@JonasFrancoDev 10 ай бұрын
Cara muito bom, parabéns. Espero aprender mais coisas vindo do seu canal. Eu uso children para usar como provider mas não para usar dessa maneira sem um contexto. Isso é muito bacana porque normalmente o valores url deveria passa pelo props do Header mas em vez disso passou direto. Quanto ao SOLID só tinha ouvido falar.
@devjunioralves
@devjunioralves 10 ай бұрын
Que show Jonas, muito bom saber disso!
@JonasFrancoDev
@JonasFrancoDev 10 ай бұрын
@@devjunioralves Fiquei meio com duvidas como funciona a props.children e fiz uma pesquisa achei um blog falando a respeito. No caso as props.children elas normalmente são usadas para inserir tags html ou texto passadas entre a instancia do componente. Também serve para passa funções. Depois você poderia fazer um vídeo falando mais a respeito desse assunto.
@rafaelfachinelli
@rafaelfachinelli 10 ай бұрын
Primeiramente, obrigado pelo vídeio Junior! Pergunta, se eu tiver diversas páginas na aplicação na qual terei o Header com o Avatar e o Profile, e apenas algumas não tendo um ou o outro, o que acha de criar um componente por exemplo chamado HeaderWithAvatarAndProfile por exemplo, assim eu não teria que ficar importando 3 componentes e repassando nas páginas essas propriedades, e ainda poderia colocar a chamada da API por exemplo, dentro desse componente novo. Tem alguma sugestão pra isso?
@maykonsousa84
@maykonsousa84 10 ай бұрын
Video top mano. Agora uma dúvida. Se no exemplo, em vez de eu obter o User no App, eu tivesse obtido no Header, manteria a responsabilidade única sem a necessidade de usar um composition?
@ryancosta989
@ryancosta989 9 ай бұрын
Dúvida: Pelo que me lembro das vezes que trabalhei com Prisma, ele faz uma "importação" da tabela do banco onde traz o retorno por exemplo de dados de usuários que contém o avatarUrl e profileName. Mas com prisma acho que nós conseguimos trazer queries mais detalhadas, onde eu quero dentro de um requisição de dados da tabela de usuários apenas o valor do avatarUrl e profileName separadamente. Dito isso, é possível passar essa lógica de requisição individualmente para cada componente e assim não dependendo mais de algum componente pai como por exemplo o App que tem a requisição nele e ele repassa para os filhos?
@TheWutachi
@TheWutachi 10 ай бұрын
Salve @devjunioralves, obrigado pelo video mano. Me tira uma duvida por favor. Se o header recebesse 2 reactNode... seria problemático? Tipo type headerProps= {avatar:React.ReactNode; title:React.ReactNode} Valeu amigo, sucesso!
@devjunioralves
@devjunioralves 10 ай бұрын
Valeu mano! Sobre a sua pergunta, não seria um problema, porém, o "problema" do ReactNode é que ele aceita "qualquer coisa", um componente, uma string e etc. Eu cuidaria em relação à isso somente. Vou até fazer um vídeo sobre esse assunto.
@dev-isaac-gomes
@dev-isaac-gomes 10 ай бұрын
SOLID no Front-end foi meu post de uns dias atrás seguimos em sintonia
@devjunioralves
@devjunioralves 10 ай бұрын
Hehe Sim, com certeza! SOLID é assunto importante, é legal sempre exercitar a forma como aplicá-lo.
@henriquezolini
@henriquezolini 10 ай бұрын
Acredito que sua apresentação remete mais a ATOMIC DESIGN do que SOLID. Isso porque a partir do momento que você criou o componente "App" você englobou o "Header", "Avatar" e o "Profile" em um único componente, "ferindo" assim o Principio de Responsabilidade única. Mas com relação a isso, não tem solução, você está montando a página, então está correto tudo que você disse, mas SOLID é um conceito MUITO UTILIZADO para backend, você pode pegar alguns insights mas ele não é 100% aplicável ao frontend. Volto a dizer, isso tem mais a ver com atomic design do que propriamente solid.
@evertontomazi
@evertontomazi 10 ай бұрын
Cara tenho uma duvida. Como proteger o id corretamente. Pq se eu uso o id em uma url e o cara mudar manualmente o id na URL isso pode causar problemas. Como faço isso de forma segura?
@RafaelGomes01
@RafaelGomes01 10 ай бұрын
Muito bom!!
@devjunioralves
@devjunioralves 10 ай бұрын
Valeu Rafael!!!
@Jhean_Perdido
@Jhean_Perdido 10 ай бұрын
Valeu 🎉🎉🎉🎉
@devjunioralves
@devjunioralves 10 ай бұрын
Valeu!
@cristianoseixas2417
@cristianoseixas2417 10 ай бұрын
Excelente
@devjunioralves
@devjunioralves 10 ай бұрын
Muito obrigado Cristiano!
@AdeilsonTube
@AdeilsonTube 10 ай бұрын
Muito bom, mas gostaria de evoluir no assunto e ver algo com os hooks e alguma regra de negócio para ver como isso tudo ficaria!
@viniciuscarvalho3271
@viniciuscarvalho3271 10 ай бұрын
ótimo vídeo, mas me tira uma dúvida, a forma exibida caso for utilizado em um projeto real não irá facilitar no entendimento no código quando se trata de um projeto grande. A implementação do SOLID no Front é bem relativa, visto que todo o conceito foi pensado para OO. Se eu tiver um page e isolar todos states, funções e requests em um hook por exemplo também estaria aplicando o SRP, pois dessa forma isolando em um HOOK, garante que o "componente" principal fique mais claro.
@devjunioralves
@devjunioralves 10 ай бұрын
Valeu Vinicius! Excelente ponto, o fato de isolar a lógica do componente em um custom hook é uma boa prática, mas não necessariamente quer dizer que está aplicando o SRP. Pq? Pq o SRP diz que uma classe/função deve ter somente um único motivo pra mudança, se dentro do hook, tiver várias regras de negócio diferente, por mais que seja esteja isolando a lógica do componente, ainda estar ferindo o SRP.
@wellingtonjesus1340
@wellingtonjesus1340 10 ай бұрын
Amigo, não conseguir absolver seu ponto de vista... no final vc ainda continuo passando dentre do Header, os componentes Avatar e Profile. Entendi que o principio seria o componente renderizar somente em função de uma variável ou de um único estado próprio, mas no final ficou a mesma coisa do inicio com mais linhas de código na minha opinião kkkk. Poderia explicar a vantagens e desvantagens? Assistir o vídeo duas vezes e não conseguir enxergar seu ponto de vista. Fora isso conteúdo top, parabéns!!!
@devlucasfernando
@devlucasfernando 10 ай бұрын
Não ficou a mesma coisa não mano, antes os componentes estavam diretos dentro do Header, existia um acoplamento, ao passar por children isso foi abstraido!
@dev-isaac-gomes
@dev-isaac-gomes 10 ай бұрын
bora que eu to com fome
@devjunioralves
@devjunioralves 10 ай бұрын
Boraaa man!
PARE de passar props!
26:59
Dev Junior Alves
Рет қаралды 17 М.
Cat mode and a glass of water #family #humor #fun
00:22
Kotiki_Z
Рет қаралды 42 МЛН
IL'HAN - Qalqam | Official Music Video
03:17
Ilhan Ihsanov
Рет қаралды 700 М.
O ERRO mais comum no React (você já fez isso)
13:26
Rocketseat
Рет қаралды 129 М.
Configurando Jest + React Testing Library no Vite #Dia23
18:44
Front Beginners
Рет қаралды 8 М.
Arquitetura Front-end: Aplicando Arquitetura MVVM no Front-end (React.js)
10:58
Quando você deveria utilizar o useMemo no ReactJS?
12:27
Dev Junior Alves
Рет қаралды 4,8 М.
This is the Only Right Way to Write React clean-code - SOLID
18:23
10 React Antipatterns to Avoid - Code This, Not That!
8:55
Fireship
Рет қаралды 781 М.
How To Handle Permissions Like A Senior Dev
36:39
Web Dev Simplified
Рет қаралды 327 М.
TUDO sobre o NOVO hook do ReactJS
16:32
Dev Junior Alves
Рет қаралды 15 М.
Como aplicar SOLID no ReactJS na prática (com testes)?
31:28
Dev Junior Alves
Рет қаралды 8 М.
Duas regras que você precisa cumprir com hooks no React
17:45
Rocketseat
Рет қаралды 45 М.
Cat mode and a glass of water #family #humor #fun
00:22
Kotiki_Z
Рет қаралды 42 МЛН