Esse PATTERN do React pode te salvar (+ lib secreta)

  Рет қаралды 22,964

Rocketseat

Rocketseat

Күн бұрын

Пікірлер: 79
@maailoon
@maailoon 2 жыл бұрын
Diego trás conteúdos pro backend também 😊 Tô esperando a att da trilha de node 💪🏻
@dieegosf
@dieegosf 2 жыл бұрын
To preparando muita coisa de back-end, principalmente em dezembro vai rolar :)
@josealexsandro9768
@josealexsandro9768 2 жыл бұрын
@@dieegosf aí sim!
@elvispalace
@elvispalace 2 жыл бұрын
@@dieegosf aeeeeeeeeeeeee
@maykbrito
@maykbrito 2 жыл бұрын
Animal DEMAIS! 😍
@MlfragaGameplays
@MlfragaGameplays Жыл бұрын
Qual é esse tema do vscode?
@insightweb
@insightweb 2 жыл бұрын
Legal, slot no vuejs já é nativo para usar justamente desta forma!
@cryptoice7180
@cryptoice7180 2 жыл бұрын
Diegão trás um conteúdo mais avançado de NEXT eu posso ajudar com algum patrocínio se for interessante!
@alangabriel1671
@alangabriel1671 2 жыл бұрын
Acessa o canal do Willian Justen, ele liberou um dos curso de Nextjs lá, talvez te ajude
@kipperdev
@kipperdev Жыл бұрын
Muito bom! Ótimo conteúdo sempre 👏🏻
@juansvrr
@juansvrr Жыл бұрын
juro por tudo que em 4:13 eu pensei que o diego ia soltar uma dancinha do tiktok
@lucasrodriguesdove
@lucasrodriguesdove Жыл бұрын
E se eu quisesse determinar que ele teria mais de um formato, como ficaria?
@1BoxTV
@1BoxTV Жыл бұрын
Mano, qual camera você usa?
@alanfljesus
@alanfljesus 2 жыл бұрын
Estou usando NextJS e Chakra UI, mas meu problema foi com o Slot, tem alguma forma de substituir o Slot do Radix UI?
@gamaquad6765
@gamaquad6765 2 жыл бұрын
Saalve, muito bom. Me deparei com esse erro no console: Warning: React does not recognize the `asChild` prop on a DOM element. If you intentionally want it to appear in the DOM as a custom attribute, spell it as lowercase `aschild` instead. If you accidentally passed it from a parent component, remove it from the DOM element. Alguém sabe o queue pode ser?
@rafaelalcantara5741
@rafaelalcantara5741 2 жыл бұрын
3:15 tendinite?
@ThePellizzetti
@ThePellizzetti 2 жыл бұрын
"tenho tendinite" força Diegão, torcemos pela sua recuperação 😔✊🙏🙏
@YagoVelosoo
@YagoVelosoo 2 жыл бұрын
UAHHUAHAUAH programador que nunca teve tendinite não é programador
@ivanvinicius8317
@ivanvinicius8317 2 жыл бұрын
Força Diego
@dieegosf
@dieegosf 2 жыл бұрын
ASUudhasudhasudh
@pedrol6193
@pedrol6193 2 жыл бұрын
N é mais fácil só usar o A?
@franklin.javier
@franklin.javier 2 жыл бұрын
Boa dica Diego. O stitches faz isso usando a prop `as`, como no styled-components/emotion/etc
@dieegosf
@dieegosf 2 жыл бұрын
Exato, e funciona muito bem, mas usando Slot fica uma API mais simples principalmente pra quem ainda tem conhecimentos mais iniciais no React e TypeScript.
@pupos3
@pupos3 2 жыл бұрын
Alguém me corrija se eu estiver errado por favor. Mas na lib Styled-Components é feito utilizando a propriedade "as" como o Diego demonstrou, e funciona sim o intelisense para as propriedades do elemento que vc passou no "as" porém o que pegava lá era o estilo, parece que por trocar o elemento os estilos mudam então vc teria que duplicar seus estilos para funcionar tanto no "button" quando no "a" (seguindo os exemplos do vídeo), então vejo como radix sendo mais eficiente q SC nesse sentido. Gostei vou ter meu primeiro contato com Radix nesse evento de agora. Valeu rocketseat
@dieegosf
@dieegosf 2 жыл бұрын
Funciona sim, o ponto de usar o Slot funciona pra quem estiver criando seus componentes dentro do React, fica uma API mais simples do que usar polimofirsmo pela propriedade "as", que torna mais complexo o TypeScript do componente.
@viniciussantana7934
@viniciussantana7934 2 жыл бұрын
Dica muito massa Diegão, não sabia que o radix dava esse suporte
@danilovieira4442
@danilovieira4442 2 жыл бұрын
Cada aula é um mind blowing diferente 🤯 Por mais dicas como essa, Diegão!
@udimbas
@udimbas Жыл бұрын
Maneirasso!
@LuanHenrique-pc3nn
@LuanHenrique-pc3nn Жыл бұрын
É mt bom saber q além disso ser mt foda, eu tbm já to conseguindo entender o React em si
@clemilsonazevedo2183
@clemilsonazevedo2183 7 ай бұрын
Massa.
@marlonmnz
@marlonmnz 2 жыл бұрын
No inicio achei que era magia e no final vi que era tecnologia... Massa demais essa dica Diegão.
@PLifes
@PLifes Жыл бұрын
Top!
@Matheus_1582
@Matheus_1582 2 жыл бұрын
Alguém da Rocket usa ou ja usou o StencilJs. Se ja usou conte sua experiencia com o StencilJs.
@drgabbo1025
@drgabbo1025 2 жыл бұрын
uma provocação, na minha visão se for só por intellisense não faz sentido adicionar mais complexidade, alguém tem algum caso de uso que compense esse esforço?
@aprendaacodaryt
@aprendaacodaryt 2 жыл бұрын
Primeiro
@gabrielserejo848
@gabrielserejo848 Жыл бұрын
em pensar que o vue.js já vem com slot padrão 🤣 que rolo meus amigos
@eriklucas8998
@eriklucas8998 Жыл бұрын
Uso de slot interessante e poderoso, mas se não utilizado com responsabilidade pode virar umas monstrozidades.
@LUIZ0798
@LUIZ0798 2 жыл бұрын
Boa tarde
@raulrozza
@raulrozza 2 жыл бұрын
Engraçado que essa semana mesmo eu tava vendo o Slot e outros componentes de utility do radix hahaha quanta coincidência
@rafaelbernardino4615
@rafaelbernardino4615 2 жыл бұрын
gente qual eh esse tema do diegão???
@dieegosf
@dieegosf Жыл бұрын
Min Theme
@sam95905
@sam95905 2 жыл бұрын
tá de hack kk, ótimo vídeo Diego 👏🏻
@nicolasmoises2720
@nicolasmoises2720 2 жыл бұрын
Brabo demaiss matador de chimpanzé
@allandepaivaribeiroPP
@allandepaivaribeiroPP 2 жыл бұрын
Excelente Curso 😜✨
@allefdouglas9693
@allefdouglas9693 2 жыл бұрын
Fala, Diego. Cara, já usou o twin.macro junto com o emotion para separar o css do tailwind em um arquivo separado (como index.tsx e styles.tsx)? Eu tenho usado há 3 meses, e acho incrível. O código fica lindo e limpo. Seria bom trazer um conteúdo sobre, caso te interesse
@dieegosf
@dieegosf 2 жыл бұрын
Fala Allef, sim, mas se for pra separar prefiro usar algo como o windstitch.vercel.app/
@LucasAlbertoFulano
@LucasAlbertoFulano 2 жыл бұрын
granda dica. directamente de Moçambique
@edu_amr
@edu_amr 2 жыл бұрын
Isso até que é bem útil se for ver …
@RenatoSilva-vb8kq
@RenatoSilva-vb8kq 2 жыл бұрын
Mas nesse caso o estilo só herdou do pai por conta de estar usando className, certo? Se for usar CSS in JS ficaria sem estilo nenhum, teria que fazer outra estilização
@RenatoSilva-vb8kq
@RenatoSilva-vb8kq 2 жыл бұрын
Com stitches seria mais ou menos assim const headingStyles = css({ fontFamily: '$sans', textDecoration: 'none' }) export const Heading = styled('h2', headingStyles) export const Child = styled(Slot, headingStyles) const Component = asChild ? Child : Heading
@ricardoalmeida7607
@ricardoalmeida7607 2 жыл бұрын
Fantástico, Diego
@cryptoice7180
@cryptoice7180 2 жыл бұрын
VC é F*** Demais Piaaa! Parabéns!
@principe.borodin
@principe.borodin 2 жыл бұрын
Antigamente as pessoas reclamavam do dinamismo, veio a tipagem e todo mundo gosto....Agora que precisa de dinamismo, vc precisa usar "recursos"...viva o dinamismo.
@vitorcouto1465
@vitorcouto1465 2 жыл бұрын
dúvida: pq não usar a tag de link direto ao invés de fazer esse polimorfismo?
@juniormusics
@juniormusics 2 жыл бұрын
Semanticamente, um Botão pode ser escrito com as tags "button", "a", "input"... no video ele fez uma maneira "generica" para ter um botão e facilmente alternar a tag final que o representará....
@ladybug5285
@ladybug5285 2 жыл бұрын
acho que ele herda as classes da tag pai na filha
@jobsongilbertobarrosamorim2516
@jobsongilbertobarrosamorim2516 2 жыл бұрын
Esse exemplo do Diego foi mais simples, mas eu já vi um caso um pouco mais complexo em que isso poderia ser útil: Havia um sistema com testes que exigiam que um certo componente, em uma página/dimensão de tela, fosse exibido como uma lista de opções (Radio Group) e, em outra página/dimensão de tela, como um menu suspenso (Select). Isso que o Diego mostrou ajudaria a simplificar o código sem precisar tratar ambos os componentes de forma totalmente separada/independente (lembrando que você não precisa passar somente primitivas, pode passar também seus próprios componentes, que já tenham algumas estilizações adicionais e/ou saibam lidar com os props extras que eventualmente sejam passados).
@drgabbo1025
@drgabbo1025 2 жыл бұрын
@@jobsongilbertobarrosamorim2516 ótimo exemplo, eu tava pensando num caso de uso que não fosse só por intellisense, o que não faz sentido pra mim
@thiagosolstafir
@thiagosolstafir 2 жыл бұрын
Alguem sabe como chama aquele plugin que ele vai digitando no terminal o nome do pacote e vai aparecendo sugestões?
@enricopozzi3657
@enricopozzi3657 2 жыл бұрын
FIG, é só para macOS por enquanto.
@nestortonanez4752
@nestortonanez4752 2 жыл бұрын
Obrigado Diego! É bom Tip
@thiagomiranda3424
@thiagomiranda3424 2 жыл бұрын
Diegão, primeiramente parabens pelo trabalho, sou muito fã de react, mas nunca tive a oportunidade de trabalhar com ele, infelizmente. Mas fiquei com uma duvida, por que você esta usando npm em vez de yarn? Valew mais uma vez :D
@dieegosf
@dieegosf Жыл бұрын
Acho que apenas porque ambos ficam igualados hoje em dia em funcionalidades e assim fica uma coisa a menos pra ensinar aos alunos.
@thiagomiranda3424
@thiagomiranda3424 Жыл бұрын
@@dieegosf Bom saber, muito obrigado pela resposta :D
@victorfacilita7749
@victorfacilita7749 Жыл бұрын
Só dicas fodas!!
@ytalodev
@ytalodev 2 жыл бұрын
Dica muito boa
@mouravocal
@mouravocal 2 жыл бұрын
Pelo que vi eu terei de fazer outra estilização para diferenciar o link usando asChild como condicional, neste caso não seria interessante criar um novo componente?
@dieegosf
@dieegosf 2 жыл бұрын
Podes criar quantos componentes quiser, mas o componente que fica abaixo do Slot recebe todo CSS do Slot em si, tudo que tiver de propriedade no Slot vai ser repassado ao componente filho.
@mouravocal
@mouravocal 2 жыл бұрын
@@dieegosf entendi, então é interessante somente se o child herdar as props e estilização do componente pai
@oriumi
@oriumi 2 жыл бұрын
gostei mt, pena que utilizo vue e não tem como rodar o radix nele :/ alguem tem alguma alternativa?
@dieegosf
@dieegosf 2 жыл бұрын
O Vue possui o Slot nativamente, mas n sei sobre uma lib igual o Radix pra Vue.
@oriumi
@oriumi 2 жыл бұрын
@@dieegosf eu uso o headless ui, tem pra react e vue :) não deve ser exatamente igual, mas é uma boa opção
@ivanvinicius8317
@ivanvinicius8317 2 жыл бұрын
Diego 5x kkkk
@StephenWillians
@StephenWillians 2 жыл бұрын
Muito show!
@thallesgarbelotti4218
@thallesgarbelotti4218 2 жыл бұрын
Ué, não era proibido usar conceitos de OO no React ? Jajá vão voltar com classes..
@dieegosf
@dieegosf 2 жыл бұрын
Polimorfismo foi apenas o nome dado, nem existe relacionamento com OO na sintaxe.
@eliasjnior
@eliasjnior Жыл бұрын
Na verdade, o Intelisense continua funcionando normalmente caso você utilize Typescript. Porém, pra preparar a tipagem correta é um tanto quanto complexo, vai exigir um conhecimento um pouco mais avançado pra fazer isso funcionar. Lembro que da primeira vez quebrei a cabeça um tempão pra acertar essa tipagem.
@sergioluiscruzfilho
@sergioluiscruzfilho 2 жыл бұрын
Qual o tema do vscode?
@dieegosf
@dieegosf 2 жыл бұрын
Min Theme
TUDO que você deve estudar de JavaScript antes do React
1:25:24
Rocketseat
Рет қаралды 297 М.
Utilizando as refs no React de forma avançada | Code/Drops #52
33:46
РОДИТЕЛИ НА ШКОЛЬНОМ ПРАЗДНИКЕ
01:00
SIDELNIKOVVV
Рет қаралды 2,5 МЛН
哈莉奎因怎么变骷髅了#小丑 #shorts
00:19
好人小丑
Рет қаралды 54 МЛН
Help Me Celebrate! 😍🙏
00:35
Alan Chikin Chow
Рет қаралды 56 МЛН
Spongebob ate Michael Jackson 😱 #meme #spongebob #gmod
00:14
Mr. LoLo
Рет қаралды 10 МЛН
Esse PATTERN do React vai te salvar | React Composition
17:48
Dev Junior Alves
Рет қаралды 10 М.
Reusable Modals with Radix UI
14:31
Sam Selikoff
Рет қаралды 21 М.
Next 13 vai TRANSFORMAR o front-end! (novas features)
29:36
Rocketseat
Рет қаралды 38 М.
Truques de JavaScript DOM que você precisa conhecer
30:31
Rocketseat
Рет қаралды 29 М.
DESIGN PATTERNS NO REACT | Render Props
18:41
Dev Junior Alves
Рет қаралды 6 М.
TUDO que você precisa saber do Next 13 (isso muda tudo)
1:09:51
Rocketseat
Рет қаралды 100 М.
O ERRO mais comum no React (você já fez isso)
13:26
Rocketseat
Рет қаралды 125 М.
Un-Suck Your React Components - Composable & Compound Components
15:47
Create components in this way in React (Composition Pattern)
24:47
РОДИТЕЛИ НА ШКОЛЬНОМ ПРАЗДНИКЕ
01:00
SIDELNIKOVVV
Рет қаралды 2,5 МЛН