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

Поділитися
Вставка
  • Опубліковано 14 жов 2024

КОМЕНТАРІ • 79

  • @maailoon
    @maailoon 2 роки тому +27

    Diego trás conteúdos pro backend também 😊 Tô esperando a att da trilha de node 💪🏻

    • @dieegosf
      @dieegosf 2 роки тому +12

      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 роки тому +11

    Animal DEMAIS! 😍

  • @kipperdev
    @kipperdev 2 роки тому +2

    Muito bom! Ótimo conteúdo sempre 👏🏻

  • @franklin.javier
    @franklin.javier 2 роки тому +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.

  • @LuanHenrique-pc3nn
    @LuanHenrique-pc3nn 2 роки тому +1

    É mt bom saber q além disso ser mt foda, eu tbm já to conseguindo entender o React em si

  • @viniciussantana7934
    @viniciussantana7934 2 роки тому +1

    Dica muito massa Diegão, não sabia que o radix dava esse suporte

  • @insightweb
    @insightweb 2 роки тому +6

    Legal, slot no vuejs já é nativo para usar justamente desta forma!

  • @marlonmnz
    @marlonmnz 2 роки тому +1

    No inicio achei que era magia e no final vi que era tecnologia...
    Massa demais essa dica Diegão.

  • @danilovieira4442
    @danilovieira4442 2 роки тому +1

    Cada aula é um mind blowing diferente 🤯
    Por mais dicas como essa, Diegão!

  • @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

  • @cryptoice7180
    @cryptoice7180 2 роки тому

    VC é F*** Demais Piaaa! Parabéns!

  • @pupos3
    @pupos3 2 роки тому +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 роки тому +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.

  • @nestortonanez4752
    @nestortonanez4752 2 роки тому

    Obrigado Diego! É bom Tip

  • @LucasAlbertoFulano
    @LucasAlbertoFulano 2 роки тому

    granda dica. directamente de Moçambique

  • @ricardoalmeida7607
    @ricardoalmeida7607 2 роки тому

    Fantástico, Diego

  • @cryptoice7180
    @cryptoice7180 2 роки тому +4

    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 роки тому +1

      Acessa o canal do Willian Justen, ele liberou um dos curso de Nextjs lá, talvez te ajude

  • @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 2 роки тому +1

      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 2 роки тому

      @@dieegosf Bom saber, muito obrigado pela resposta :D

  • @allandepaivaribeiroPP
    @allandepaivaribeiroPP 2 роки тому +1

    Excelente Curso 😜✨

  • @1BoxTV
    @1BoxTV 2 роки тому

    Mano, qual camera você usa?

  • @udimbas
    @udimbas 2 роки тому

    Maneirasso!

  • @alanfljesus
    @alanfljesus 2 роки тому +1

    Estou usando NextJS e Chakra UI, mas meu problema foi com o Slot, tem alguma forma de substituir o Slot do Radix UI?

  • @sam95905
    @sam95905 2 роки тому

    tá de hack kk, ótimo vídeo Diego 👏🏻

  • @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/

  • @victorfacilita7749
    @victorfacilita7749 Рік тому

    Só dicas fodas!!

  • @lucasrodriguesdove
    @lucasrodriguesdove Рік тому

    E se eu quisesse determinar que ele teria mais de um formato, como ficaria?

  • @clemilsonazevedo2183
    @clemilsonazevedo2183 7 місяців тому

    Massa.

  • @ytalodev
    @ytalodev 2 роки тому

    Dica muito boa

  • @StephenWillians
    @StephenWillians 2 роки тому

    Muito show!

  • @PLifes
    @PLifes 2 роки тому

    Top!

  • @juansvrr
    @juansvrr Рік тому

    juro por tudo que em 4:13 eu pensei que o diego ia soltar uma dancinha do tiktok

  • @gamaquad6765
    @gamaquad6765 2 роки тому +1

    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?

  • @MlfragaGameplays
    @MlfragaGameplays Рік тому +1

    Qual é esse tema do vscode?

  • @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 роки тому +1

      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

  • @edu_amr
    @edu_amr 2 роки тому

    Isso até que é bem útil se for ver …

  • @gabrielserejo848
    @gabrielserejo848 2 роки тому

    em pensar que o vue.js já vem com slot padrão 🤣 que rolo meus amigos

  • @rafaelalcantara5741
    @rafaelalcantara5741 2 роки тому +4

    3:15 tendinite?

    • @ThePellizzetti
      @ThePellizzetti 2 роки тому +1

      "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

  • @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

  • @eriklucas8998
    @eriklucas8998 Рік тому

    Uso de slot interessante e poderoso, mas se não utilizado com responsabilidade pode virar umas monstrozidades.

  • @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?

  • @Matheus_1582
    @Matheus_1582 2 роки тому

    Alguém da Rocket usa ou ja usou o StencilJs.
    Se ja usou conte sua experiencia com o StencilJs.

  • @principe.borodin
    @principe.borodin 2 роки тому +1

    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.

  • @LUIZ0798
    @LUIZ0798 2 роки тому +1

    Boa tarde

  • @nicolasmoises2720
    @nicolasmoises2720 2 роки тому

    Brabo demaiss matador de chimpanzé

  • @vitorcouto1465
    @vitorcouto1465 2 роки тому +1

    dúvida: pq não usar a tag de link direto ao invés de fazer esse polimorfismo?

    • @juniormusics
      @juniormusics 2 роки тому +1

      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 роки тому +1

      acho que ele herda as classes da tag pai na filha

    • @jobsongilbertobarrosamorim2516
      @jobsongilbertobarrosamorim2516 2 роки тому +1

      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 роки тому +1

      @@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?

  • @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 роки тому +1

      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

  • @rafaelbernardino4615
    @rafaelbernardino4615 2 роки тому

    gente qual eh esse tema do diegão???

  • @pedrol6193
    @pedrol6193 2 роки тому

    N é mais fácil só usar o A?

  • @eliasjnior
    @eliasjnior 2 роки тому

    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.

  • @ivanvinicius8317
    @ivanvinicius8317 2 роки тому

    Diego 5x kkkk

  • @aprendaacodaryt
    @aprendaacodaryt 2 роки тому +1

    Primeiro

  • @thallesgarbelotti4218
    @thallesgarbelotti4218 2 роки тому

    Ué, não era proibido usar conceitos de OO no React ? Jajá vão voltar com classes..

    • @dieegosf
      @dieegosf 2 роки тому +2

      Polimorfismo foi apenas o nome dado, nem existe relacionamento com OO na sintaxe.

  • @sergioluiscruzfilho
    @sergioluiscruzfilho 2 роки тому

    Qual o tema do vscode?