Realtime Features for React: Easier Than You Think

Поділитися
Вставка
  • Опубліковано 11 січ 2025
  • When I was new to web dev, implementing real-time features into your apps seemed like a nightmare. So many things to keep in mind. How to deploy the web sockets? How to manage scaling? I think this might be one of the most beginner-friendly approaches to implementing real-time features into your own app.
    My GitHub: github.com/jos...
    The minimal realtime chat code: github.com/jos...
    Pusher (not sponsored): pusher.com/cha...
    I wish you a lot of fun implementing real-time features into your app! Let me know if you build something cool with it! Cheers

КОМЕНТАРІ • 52

  • @faizanahmed9304
    @faizanahmed9304 Рік тому +13

    Thanks a lot! I was just looking the docs for pusher and was not understanding much and you've just dropped a video.

  • @ammarys9980
    @ammarys9980 11 місяців тому +2

    bro you just created a conclusion for their bad documents, that's hard to believe, YOU A LIFE SAVER.

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

    Thanks, this video is very helpful to grasp the basic of Pusher
    Hope you do well onwards!

  • @AaronMcCloud_Me
    @AaronMcCloud_Me Рік тому +3

    7:25 The real-time functionality

  • @wimi9640
    @wimi9640 4 місяці тому

    Clearer than the doc or Vercel tutorial, thanks !

  • @NinjaNezie
    @NinjaNezie 11 місяців тому

    Needed this for a clock in system I’m building. Very nice tutorial 🔥.

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

    Excellent Josh, great video as always. ...(ps. prisma format -> makes it so pretty)

  • @mateuspaula_dev
    @mateuspaula_dev Рік тому +7

    Good video, thank you very much for sharing your knowledge. I really hope you keep producing videos with the same intensity.
    Best regards, all the best from Brazil 🇧🇷

  • @prototyperchan
    @prototyperchan Рік тому +4

    have you got a repo for reference? Curious how to set up the part where pusher talks to the db to preserve the state

    • @joshtriedcoding
      @joshtriedcoding  Рік тому +2

      Good call, will update that in the description

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

      @@joshtriedcoding waiting for the update 👍👍

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

      @@asimalqasmi7316 It's available in the description now: github.com/joschan21/minimal-react-realtime

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

      I tried it myself before you sent the repo
      It stumbled on useRouter in app page since it wasn't clear in the video until I figured out it was imported from navigation not router.
      If you want to see my repo I'll share it here. 😁

  • @iamasteriix
    @iamasteriix 5 місяців тому

    "Hello and welcome to this video's content, accurately described by this video's title"

  • @krisbude9607
    @krisbude9607 Рік тому +11

    nice video Josh. Just one thing... I wouldn't teach other developers to use a let in a react client component instead of the useState hook. In this particular case it works because you don't have any parent component. But it is really a bad practice and should not be used in a client component to maintain state.

    • @JB2519
      @JB2519 3 місяці тому

      Just curious will it not work if you wrap this let component with a parent component?

    • @dart_ariz604
      @dart_ariz604 2 місяці тому

      ​@@JB2519 no it wont

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

    amazing bro. It was really something new for me . THnakss for the video

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

    KEEP GOING !!!, you have such GOOOD content

  • @astronaut22
    @astronaut22 8 місяців тому

    can we use pusher to implement ads campain feature like google ads, I mean showing users data as ad in queue in real time ?

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

    Great tutorial! But what if I have multiple channel I need to listen to? Do I need to create one useEffect per channel or put all listeners in one useEffect?

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

    can react query do the same thing? provide real time updates?

  • @NhanNguyen-ng7vn
    @NhanNguyen-ng7vn Рік тому

    Today, i'm creating a chat in my school'project, and i don't khow how to unsubcribe channel_name inside return callback of UseEffect. Thanks you !

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

    @Josh,
    Great video again. Does this also work in NextJS 12?

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

    hi josh,
    Can you explain how to use SWR for realtime data. From the info I got on Twitter, it says it doesn't use third party services / web scoket.
    i am very interested about that

    • @tnctnctnctnc
      @tnctnctnctnc 11 місяців тому

      Have you got your answer ?

  • @justin9494
    @justin9494 9 місяців тому

    Can I use this with Strapi?

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

    Hi. How long have you been learning web dev?

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

    Is it complex to setup a internal websocket on NextJS ?! 😢

    • @joshtriedcoding
      @joshtriedcoding  Рік тому +2

      Due to NextJS being serverless and WS requiring stateful connections, you can't. That's why I found this method so convenient, alternatively NodeJS with socket.io for small scale apps is totally fine too

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

      @@joshtriedcoding Isn’t it that nextjs embed expressjs, and actually have a backend? The prisma calls for example are server side, right ?

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

      @@hn3m3s1s Yes they are server-side. NextJS API routes use NodeJS, however, due to them being serverless, you don't have access to some APIs such as the file system. You can think of it as "every time my NextJS API gets called, I am 'renting' out a few seconds of a server's resources for this route to process the request".

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

      @@joshtriedcoding Wuw, thanks for that! Very clear explanation and I understand now better how next works!

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

      @@joshtriedcodingWhy would you recommend it for small scale apps only? What better alternatives could you name for sth like a Java api + React/Next client?

  • @maximusrayvego2673
    @maximusrayvego2673 6 місяців тому

    jump to 7:24

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

    why dint you use useState for the input value?

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

    I'm not overly familiar with Prisma, but I was under the impression that you needed to set it up to work with a 3rd party DB service like Supabase or Planetscale. If so, which are you using in this project? If not, where is the database located?

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

      Any supported dbs and hosted anywhere.

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

    I love the intros to these videos, very German 😆

  • @metaeducation6813
    @metaeducation6813 4 місяці тому

    thank you josh!

  • @haijomblo-rn8pl
    @haijomblo-rn8pl Рік тому

    "use server" = prisma not api again 😢

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

    That's really good, but it's paid and limited. The free version is also limited

  • @whoisasey
    @whoisasey 9 місяців тому

    THANK YOU!! the Pusher docs were so trash.

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

    Thanks 🙏

  • @emporteme
    @emporteme 4 дні тому

    I think its sponsored

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

    Woow

  • @KomlaWilson
    @KomlaWilson 8 місяців тому

    NOt helpful
    Just showing your code