My Favorite Way to Fetch Data in React

แชร์
ฝัง
  • เผยแพร่เมื่อ 2 ก.พ. 2025

ความคิดเห็น • 151

  • @Aidorimuhausu
    @Aidorimuhausu ปีที่แล้ว +15

    00:04 React Query is a robust data fetching solution that can be implemented in your own React applications.
    02:07 Provide a query client context to fetch data across the application.
    04:10 React Query allows you to fetch data asynchronously and work with it synchronously
    06:12 The data fetched from the query can be of different types
    08:12 Using useQuery for data fetching and caching in React
    10:13 Mutation is used for changing data, while query is used for getting data.
    12:24 Make get requests and dynamically insert post ID in the URL
    14:33 React query allows for graceful handling of success and error states

  • @developerpranav
    @developerpranav ปีที่แล้ว +6

    Making hooks using React Query is killer! Thanks for the awesome tutorial!

  • @ninthsun
    @ninthsun ปีที่แล้ว +5

    Thanks, this was one perfect introduction to react-query in just 15 minutes!!

  • @EIsenah
    @EIsenah ปีที่แล้ว +2

    Just discovered your channel through Theo. Loving your content so far

  • @ifeanachofavour409
    @ifeanachofavour409 ปีที่แล้ว +1

    Brooo, I love your videos and you've been a part of my success in past few months. Great stuff man. Thanks

  • @MilindMishra
    @MilindMishra ปีที่แล้ว +9

    everytime i think of something josh somehow comes up witha tutorial for the same! how do you read my mind! jokes aside, great work pushing out the content, josh! love the work!

  • @codelodean
    @codelodean 11 หลายเดือนก่อน

    Thanks Bro, a perfect video of how to handle data fetching using react-query. waiting for more on react-query, probably part-2

  • @Joe-ka
    @Joe-ka ปีที่แล้ว

    I saw too many videos about this and this is by far the best one! thank you. liked and subscribed.

  • @chancefinley2432
    @chancefinley2432 3 หลายเดือนก่อน

    Great Video! Thanks for starting out simple and advancing through how to clean it up.

  • @escaper2137
    @escaper2137 ปีที่แล้ว

    bruuuuuh
    where have you been all this time
    thank you for all your efforts

  • @storylineteam
    @storylineteam ปีที่แล้ว +37

    Using react query with axios is a great solution (tanstack also has a great solution for tables). I like to stay away from the Vercel ecosystem as they are forcing everyone to use their platform for deployment, this is why they are making clones of existing packages (swr, router, etc). Also the React Query Developer tools are great!

    • @joshtriedcoding
      @joshtriedcoding  ปีที่แล้ว +6

      they really are, cheers man

    • @stexorgamingHDx
      @stexorgamingHDx ปีที่แล้ว

      D

    • @vickonsscope6477
      @vickonsscope6477 ปีที่แล้ว +2

      Exactly... Obviously forcing everyone to use their deployment platform..

    • @nidhishsrivastava4868
      @nidhishsrivastava4868 ปีที่แล้ว

      can we use react query with next js

    • @davidkim2016
      @davidkim2016 ปีที่แล้ว +3

      @@vickonsscope6477 dont use them then? or better yet, become a good enough developer to not rely on their devx and eco

  • @michaelmironov3589
    @michaelmironov3589 ปีที่แล้ว

    this is so f*in cool because i lost 2 days to figure out how to fetch data with axios and feed it correctly to lightweight charts library, thank you very much!1

  • @nicholassingh138
    @nicholassingh138 ปีที่แล้ว

    Love your content bro
    Coming from svelte and watching how react works. It hurts my head for sure.

  • @sosumitoo
    @sosumitoo ปีที่แล้ว

    Exactly what I was looking for. Nice one!

  • @gradientO
    @gradientO ปีที่แล้ว

    Best introduction to this!

  • @willxiang25
    @willxiang25 ปีที่แล้ว

    great video josh ! and it's interesting that you keep looking left and right 😂

    • @joshtriedcoding
      @joshtriedcoding  ปีที่แล้ว

      cheers man, thats how you keep learning

  • @codingcambodia
    @codingcambodia ปีที่แล้ว +6

    What state management do you use. It would be great if You can make a video on reactjs react query and state management for authentication.

    • @joshtriedcoding
      @joshtriedcoding  ปีที่แล้ว +2

      honestly, I came so far just using context, never tried out anything other than zustand. Might be worth looking into tho, heard lots of good about jotai

    • @BenHuxford
      @BenHuxford 11 หลายเดือนก่อน

      I've been reading that React Query is good for state management. Is this not true?

  • @animegeek-011
    @animegeek-011 ปีที่แล้ว

    React query is amazing i spent a week trying it, and it's really good

  • @codinginflow
    @codinginflow ปีที่แล้ว +1

    Bruder. Is your app a startup or just some fun project?
    I also use NextJS + Express but I use SWR

    • @Luka_brx
      @Luka_brx ปีที่แล้ว +2

      SWR is better option at the moment i would say

  • @satejbidvai
    @satejbidvai ปีที่แล้ว +3

    I am trying to build something using the Next13 appDir. I went through the docs and found the fetch API for data fetching in server side components. So, should I use react-query only for client side components, or for the entire app. I am a bit confused as to when to use what.

    • @brenosonda8496
      @brenosonda8496 ปีที่แล้ว +1

      I think react-query works only in client since it uses context and hooks,

    • @natalianatalia1734
      @natalianatalia1734 ปีที่แล้ว

      If u use nextjs it is recommended to use Server side component so react hooks will not work. But imo using nextjs fetching is so simple that i wouldnt bother client side components.

  • @bilalbeny4172
    @bilalbeny4172 15 วันที่ผ่านมา

    Thanks! Consider changing the video title to something like, 'Learn How to Fetch Data Easily with React Query' for better clarity.

  • @alexenax1109
    @alexenax1109 ปีที่แล้ว

    Loved this video!

  • @mosvel
    @mosvel ปีที่แล้ว

    Great content bro 🍷🗿!! you are de best!

  • @dejanobradovic9723
    @dejanobradovic9723 ปีที่แล้ว

    Thanks for stunning topic!

  • @germantellez2710
    @germantellez2710 11 หลายเดือนก่อน

    amazing video man thank you!

  • @rahimco-su3sc
    @rahimco-su3sc ปีที่แล้ว

    i really like your content !! tanks a lot

  • @nubian_goat
    @nubian_goat ปีที่แล้ว

    Josh is hackerman. even with airplane mode on, he have internet.

  • @mohitsharma-ep9iy
    @mohitsharma-ep9iy ปีที่แล้ว

    in react query version 5 , it is written to support old browsers you have to transpile and polyfill yourself. Have you faced this type of issue where react query stopped working in old browsers ?

  • @Pareshbpatel
    @Pareshbpatel ปีที่แล้ว

    Very nice introductionto React-Query. Thanks.
    {2023-12-22}

  • @jaroslavhuss7813
    @jaroslavhuss7813 ปีที่แล้ว +1

    Yeah, btw. thank you for this video. Now I can see this is a better approach comparint to what I am using now. Arghhh... I just need to rewrite the app again :D

    • @joshtriedcoding
      @joshtriedcoding  ปีที่แล้ว +1

      OH NO ITS A TRAP! 'I just need this one rewrite' is a big trap my man, be very careful. It might end up in a never ending cycle of rewrites

  • @tanjungclan3864
    @tanjungclan3864 ปีที่แล้ว +2

    Josh, are you using state management like redux for all your project?

    • @nada125love
      @nada125love ปีที่แล้ว

      the same question I want to ask about

    • @tanjungclan3864
      @tanjungclan3864 ปีที่แล้ว

      @@abhiramsatpute it's mean, we don't need redux, right?

    • @abhiramsatpute
      @abhiramsatpute ปีที่แล้ว +1

      @@tanjungclan3864 you don't need redux only when you are storing 'Fetch/Axios' data, for other data like toggling dark/light theme, you might need Redux or even better using Context API.

    • @tanjungclan3864
      @tanjungclan3864 ปีที่แล้ว

      @@abhiramsatpute it's what i do right now

    • @shakilahmed6870
      @shakilahmed6870 ปีที่แล้ว

      ​@@abhiramsatpute Redux is not only for fetching data and sharing them among other components.

  • @martiananomaly
    @martiananomaly ปีที่แล้ว +3

    Finally I can ditch the ugly useEffect + loading state combo.

    • @joshtriedcoding
      @joshtriedcoding  ปีที่แล้ว

      oh hell yeah right into the garbage with that

  • @kkomjang
    @kkomjang 3 หลายเดือนก่อน

    It is an old way of using react query. Making query options and passing to it as a prop is a better and cleaner way of using it.

  • @EduardKaresli
    @EduardKaresli ปีที่แล้ว +1

    I'd use React Query if my app isn't using Redux, or RTK Query if I'm using Redux, I think both are awesome.

    • @rl6382
      @rl6382 ปีที่แล้ว

      Why RTK query if using redux?

    • @EduardKaresli
      @EduardKaresli ปีที่แล้ว

      @@rl6382 Because it is already integrated with RTK (Redux ToolKit), why importing other packages when you already havea query library included in RTK?

    • @MrSadeeq67
      @MrSadeeq67 ปีที่แล้ว

      ​@@EduardKaresliRTK Query is really best option if you have Redux in the app

  • @Zummota
    @Zummota ปีที่แล้ว +1

    6:04 how to do this editing trick?

  • @mathiasriissorensen6994
    @mathiasriissorensen6994 ปีที่แล้ว

    I have been used useSWR in the past, but this seems really good. How does it work with Next.js and the app folder considering serverside and "use client" ?

    • @yarapolana
      @yarapolana ปีที่แล้ว +1

      I just saw the documentation somewhere not in their official docs. Basically you can make use of the functions with “use server” inside or decouple it to an action.ts file

    • @mathiasriissorensen6994
      @mathiasriissorensen6994 ปีที่แล้ว

      @@yarapolana Thanks. I’ll see how it is going to work.

  • @333ruka
    @333ruka ปีที่แล้ว +1

    what extension u use for showing the size of a module like that ?

    • @joshtriedcoding
      @joshtriedcoding  ปีที่แล้ว

      think its called "import cost" in vscode

  • @indramal
    @indramal 10 หลายเดือนก่อน +2

    why axios instead of fetch?

  • @outroddet
    @outroddet ปีที่แล้ว +2

    Hey, echt cooles Video. Kannst du mal ein Video darüber machen, wie du genau vorgehst, wenn du nicht NextJS als backend verwendest, sondern dein eigenes mit express? Weil NextJS hat ja von Haus aus schon ein eigenes Backend. Würde mich echt interessieren.

    • @joshtriedcoding
      @joshtriedcoding  ปีที่แล้ว

      both approaches are quite similar because after all, nextjs serverless functions are a "spin-off" of express. Not sure how I'd package this into a video, thanks a lot for the suggestion though. Will look into it

  • @thedevminer
    @thedevminer ปีที่แล้ว +1

    You missed explaining the `mutate`/`mutateAsync` functions that `useMutation` returns.

  • @lopuma1990
    @lopuma1990 ปีที่แล้ว

    Hello friend 😊, thanks for your content, I speak Spanish and I have found the best react query and zustand content here, after playing it several times because of my bad English 😂 hehehe, one question, do you have a video of zustand and react query together?

  • @speedster784
    @speedster784 ปีที่แล้ว

    What API are you using to transcribe the TH-cam video that you briefly demonstrated in the video on the site you working on is it a GPT API or some other API??

  • @jotaroisdarius1918
    @jotaroisdarius1918 ปีที่แล้ว +1

    Hey Josh, do you have any idea on how to force a fallback font in NextJS? I had a problem with the original font which triggered the fallback and I actually liked it more than the original one

    • @BuyHighSellLo
      @BuyHighSellLo ปีที่แล้ว

      just look up what the font is and set that as your default

  • @uncutvideos-l4l7
    @uncutvideos-l4l7 ปีที่แล้ว

    i wanted to use next js only for ssr but i don't know ssr. any video possible on it comparing ssr both react and next

  • @maxime_spinard
    @maxime_spinard ปีที่แล้ว

    Is it not a better approche if we pass to the hook the api url and the onSuccess and onError functions from the components ? So we can only have two hooks, one for fetching and one for mutations with default onSuccess and onError if nothing has been passed as prop

    • @istvan.design
      @istvan.design 8 หลายเดือนก่อน

      There is an issue with onSucces and onError (they are not reliable), they actually removed them in the latest react query version.

  • @waliahmed3035
    @waliahmed3035 ปีที่แล้ว +1

    Josh can you please make a video of React Query in Next JS server components?

  • @ninjagaskin
    @ninjagaskin ปีที่แล้ว

    Doesnt Nextjs handle the loading and error cases in the respective loading.tsx and error.tsx files? Is there still merit to using react query?

    • @ninjagaskin
      @ninjagaskin ปีที่แล้ว

      Great videos btw!

    • @joshtriedcoding
      @joshtriedcoding  ปีที่แล้ว +1

      Thanks man. The loading.tsx and error.tsx is for server side errors and server side loading state. If you fetch data inside a server component, your loading.tsx will show up

    • @ninjagaskin
      @ninjagaskin ปีที่แล้ว

      Gotcha. Thank you for clearing that up. Would there be a purpose to run this react query in server side requests or is that not possible. Strictly for client side

  • @anonymoussloth6687
    @anonymoussloth6687 ปีที่แล้ว

    Is this article project open source? Or will you be creating a whole video where you make this app?

  • @Saltertv
    @Saltertv ปีที่แล้ว

    I'm struggling a bit to understand how I can use this to retrieve pre-rendered pages using static or server props. This looks like a good choice for client side rendering and fetching.

    • @deiminator2
      @deiminator2 ปีที่แล้ว +3

      React query is a hook so you can only use it in the react client, not in the next server

    • @denissorn
      @denissorn ปีที่แล้ว +2

      I haven't watched the video yet, but he's obviously using Next for that. The API is only for fetching data and business logic. I do wonder why didn't he use Next for this, but I have no experience with it, and my guess is, his estimate was that business logic and API are complicated/important enough to justify the use of another server/separate backend.

    • @joshtriedcoding
      @joshtriedcoding  ปีที่แล้ว +3

      yeah as it's just a hook, this is meant for client use only

  • @guitarplayer1434
    @guitarplayer1434 ปีที่แล้ว

    where would I house videos and would I use react to fetch them for a video streaming site

    • @joshtriedcoding
      @joshtriedcoding  ปีที่แล้ว

      upload them to AWS s3 or cloudinary (I prefer s3), then fetch them via a presigned url

  • @anonymoussloth6687
    @anonymoussloth6687 ปีที่แล้ว

    Hi, I am a beginner and I was confused between isLoading provided by react query and loading pages in-built in next js. What is the difference? do they do the same thing?

    • @antoniors
      @antoniors ปีที่แล้ว

      react query's loading just gives you a boolean that you can use to conditionally render some JSX based on it like so: return ( { isLoading && Loading...

  • @timetosleep8055
    @timetosleep8055 ปีที่แล้ว

    Is the first load js when building the project always so huge when using react query? up to 350kb!

    • @joshtriedcoding
      @joshtriedcoding  ปีที่แล้ว +1

      no something is definitely not right in your project haha

  • @bob_kazamakis
    @bob_kazamakis ปีที่แล้ว

    I prefer RTK-Query since it also comes for free with RTK state management

  • @jomoc6112
    @jomoc6112 ปีที่แล้ว

    great content, i never knew i could handle it this beautifully. please teach me how to reFetch the mutation if the data is still not there, maybe i did it wrong im currently trying it on onSuccess because it is still receiving data.

  • @bizmich_
    @bizmich_ ปีที่แล้ว

    can any one help i have problem with query params i cannot get them before rendering, I am using react-query by it cannot get them initial

  • @chesterrogersjr1737
    @chesterrogersjr1737 ปีที่แล้ว

    react-query is the 🐐

  • @sinnis_879
    @sinnis_879 ปีที่แล้ว +1

    hey josh, can we use react query in Next js 13 with the revalidate and cache methods.
    or is it better to just use simple fetch api in nextjs 13
    please reply

    • @censmart9486
      @censmart9486 ปีที่แล้ว

      At the top of your component write
      export const revalidate = 3600 // revalidate every hour,
      same as using using fetch API {next : { revalidate: 60} }

  • @omarkraidie
    @omarkraidie ปีที่แล้ว

    I cannot use useQuery in a server component?

  • @xdaniels13
    @xdaniels13 ปีที่แล้ว

    In next.js 13 app folder system, the Provider has to go in the main layout.tsx file, right? someone knows?

  • @ardianhotii
    @ardianhotii ปีที่แล้ว

    Can you do a video how to use react-query in nextjs 13.4 app router with data fetching in hooks please , I like your videos so much keep going

  • @pelazas1
    @pelazas1 ปีที่แล้ว

    helpful, thanks!

  • @waleedsharif618
    @waleedsharif618 ปีที่แล้ว

    Could you create app where is Nextjs in frontend and express in backend ? Tutorial

  • @Sammysapphira
    @Sammysapphira ปีที่แล้ว

    Love the one piece wallpaper

  • @smotch7533
    @smotch7533 ปีที่แล้ว +1

    You should reference your recent videos on fetching...I though this was the same video

    • @joshtriedcoding
      @joshtriedcoding  ปีที่แล้ว

      true, that might be a bit confusing. Its the more in-depth version as a lot of people asked for it

  • @nada125love
    @nada125love ปีที่แล้ว

    Hi josh, can you please make a video about typescript and how can it be useful than JS for beginners with little tutorial

  • @shu3684
    @shu3684 ปีที่แล้ว

    but this is client-side fetching solution only, right? do you ever use other data fetching methods?

  • @jimshtepa5423
    @jimshtepa5423 ปีที่แล้ว

    I didn't fully understand what query keys are for? what would not be possible in case query keys are not used? Please don't answer caching wouldnt be possible. I mean in practice how is behaviour of the fetching would be in case query key is not used?

  • @SanderCokart
    @SanderCokart ปีที่แล้ว

    Axios does allow Generics so no need to do As casting

  • @carlosalbertocabreraquirog8297
    @carlosalbertocabreraquirog8297 ปีที่แล้ว

    does react query work on nextjs?

  • @keshawnsmith320
    @keshawnsmith320 ปีที่แล้ว

    Are you using windows 10 or 11?

  • @CapzTube
    @CapzTube ปีที่แล้ว +3

    OnSuccess and OnError for useQuery (not useMutation) will be being removed in React-Query 5 I think

  • @blossomdoom7609
    @blossomdoom7609 ปีที่แล้ว

    how do you mutate data in nextjs 13

  • @techlightdev
    @techlightdev ปีที่แล้ว

    So cool,

  • @ongkay250
    @ongkay250 ปีที่แล้ว

    what about SWR ?

    • @joshtriedcoding
      @joshtriedcoding  ปีที่แล้ว

      as I said, they aim to accomplish a very similar thing

  • @muneeburrehman547
    @muneeburrehman547 ปีที่แล้ว +1

    so you love react query ?

    • @ongkay250
      @ongkay250 ปีที่แล้ว

      i love SWR🤣

    • @muneeburrehman547
      @muneeburrehman547 ปีที่แล้ว

      @@ongkay250 lell

    • @joshtriedcoding
      @joshtriedcoding  ปีที่แล้ว +1

      wouldnt call it love but I enjoy using it

    • @muneeburrehman547
      @muneeburrehman547 ปีที่แล้ว

      @@joshtriedcoding ohh then which library do you love personally?

  • @_bigNPC_
    @_bigNPC_ ปีที่แล้ว +1

    I’m a very fan of native apis and fetch API tbh, it not hard at all.

  • @llmaboi
    @llmaboi ปีที่แล้ว +1

    The wording here is mis leading as React Query is not a data fetching client, axioms or fetch is. React Query is a state management tool with implementations for managing query responses.

  • @ashish_prajapati_tr
    @ashish_prajapati_tr ปีที่แล้ว

    react-query is powerful

  • @fayez9939
    @fayez9939 ปีที่แล้ว

    useSWR is lightweight and enough for most of time.

  • @imkir4n
    @imkir4n ปีที่แล้ว

    HOW'S THE JOSH!!!

  • @asimalqasmi7316
    @asimalqasmi7316 ปีที่แล้ว

    First 🎉

  • @sno-oze
    @sno-oze ปีที่แล้ว

    onSuccess and onError is deprecated and will be removed in next major verions, interesting

  • @VV2sdfds
    @VV2sdfds 4 หลายเดือนก่อน

    bro why do you post your selfie as your cover. like..

  • @VV2sdfds
    @VV2sdfds 4 หลายเดือนก่อน

    bro I'm confused

  • @rudi-batubara
    @rudi-batubara ปีที่แล้ว

    use-query + axios = (KB + KB)
    You should learn more about use-query and axios rather then business logic.😂

  • @rojka-_-
    @rojka-_- ปีที่แล้ว

    awesome