Тёмный

React Redux Toolkit Query Tutorial and RTK Query CRUD Example App 

Dave Gray
Подписаться 346 тыс.
Просмотров 133 тыс.
50% 1

Опубликовано:

 

14 окт 2024

Поделиться:

Ссылка:

Скачать:

Готовим ссылку...

Добавить в:

Мой плейлист
Посмотреть позже
Комментарии : 280   
@medi7573
@medi7573 2 года назад
This video should be added to the docs, as an easy guide to get started with RTK Query, just amazing!
@DaveGrayTeachesCode
@DaveGrayTeachesCode 2 года назад
Thanks! 🙏💯 They actually did add my full course video that includes this video chapter. You can find it here: redux.js.org/tutorials/videos#redux-toolkit-complete-tutorial-with-dave-gray
@viditgoel2909
@viditgoel2909 11 месяцев назад
congratulations and thanks for bringing out this amazing content@@DaveGrayTeachesCode
@saketparasher3762
@saketparasher3762 2 года назад
I asked for rtk query at beginning of redux toolkit series, and got it. Thanks Dave. ❤❤ Learn a lot from your react authentication and authorization series.
@DaveGrayTeachesCode
@DaveGrayTeachesCode 2 года назад
Glad I could help, Saket!
@fancyAlex1993
@fancyAlex1993 2 года назад
Tried learning rtk query on my own using the documentation, it was hell ! Thank you for simplifying it
@DaveGrayTeachesCode
@DaveGrayTeachesCode 2 года назад
Glad it helped! 💯
@mohammadumar443
@mohammadumar443 2 года назад
@@DaveGrayTeachesCode how will we do conditional querying with some data or on button click ?
@DaveGrayTeachesCode
@DaveGrayTeachesCode 2 года назад
@@mohammadumar443 great question! RTK offers a "skip" parameter for this: redux-toolkit.js.org/rtk-query/usage/conditional-fetching
@dustyhordofelbamana279
@dustyhordofelbamana279 2 года назад
Hello Dave, I would like to thank you for your multifaceted contribution in the life of several developers in the world and in particular mine. I am in full reconversion, and your videos are a breath of oxygen, so much it allows me to apprehend the thing differently. GOD Bless You, one of your admirers from France!
@DaveGrayTeachesCode
@DaveGrayTeachesCode 2 года назад
Thank you so much for the kind words, Dusty! 🙏💯
@dustyhordofelbamana279
@dustyhordofelbamana279 2 года назад
@@DaveGrayTeachesCode 🙏 Dave!
@randomvideos90-30
@randomvideos90-30 6 месяцев назад
Thank you very much. Your explanation makes me more understanding of the RTK query.
@aarondiaz2506
@aarondiaz2506 Год назад
I'm not really experienced to talk but i have Associate Degree in web development. I have never worked as dev but i graduated when first version of AngularJs was being released and i learned to code with js, php, java, pyhton and SQL with Mysql. Now i'm back to coding for fun and i love how easy everything has become, well maybe not easy for a beginner because most difficult part are concepts but a lot of work has been simplified, rtk query is a perfect example, love it! Thanks great explanation.
@DaveGrayTeachesCode
@DaveGrayTeachesCode Год назад
Thank you!
@vincent3542
@vincent3542 2 года назад
hi Dave! I just want to say a big thank you for your efforts in creating a lot of tutorial playlists, especially React and Redux. The playlist on your channel is my main intake when learning new technology, because you really don't just present shallow content for tutorial size, but you dare to explore topics that are much more advanced. Even now I have got a job as a web frontend, your channel is still the first place I'm looking for 😉💌
@DaveGrayTeachesCode
@DaveGrayTeachesCode 2 года назад
I sincerely appreciate the kind words, and am glad I could help! 💯🚀
@vincent3542
@vincent3542 2 года назад
@@DaveGrayTeachesCode ❤️❤️❤️
@chanchaldutta7778
@chanchaldutta7778 2 года назад
Dave, thanks a lot for your brilliant tutorials. I learnt a lot from those. My humble request to you, is it possible to create react tutorials using typescripts as many organizations nowadays are moving to it?
@DaveGrayTeachesCode
@DaveGrayTeachesCode 2 года назад
Thank you, Chanchal! 🙏 I do plan to start a Typescript series this year.
@moretimeproductions
@moretimeproductions 2 года назад
It's a great idea, but also it is a nice challenge to do these tutorials and add Typescript yourself, I learned a lot doing that, because I could use. what I already know and also had to do quiet a bit of research to find out about all the stuff I didn't know.
@stevereid636
@stevereid636 2 года назад
@@moretimeproductions That's exactly what I've been doing 👍🏾
@muhammadhaseebfarooqkhan9597
Thank you Dave, You really elaborated every thing along side cases which help us to understand more clearly.
@Pareshbpatel
@Pareshbpatel 2 года назад
An excellent introduction to RTK Query with a CRUD example. Thanks, Dave {2022-06-20}, {2023-02-27}, {2023-04-03}
@DaveGrayTeachesCode
@DaveGrayTeachesCode 2 года назад
You're welcome, Paresh! 💯
@SimPwear84
@SimPwear84 2 года назад
Great intro! Thank you so much for this lesson. You're such a gem providing useful and real world problems and solutions.
@DaveGrayTeachesCode
@DaveGrayTeachesCode 2 года назад
You're very welcome!
@danielrosenwald
@danielrosenwald 2 года назад
Dave, this is by far the best RTK Query tutorial I've watched. Very in-depth yet easy to understand. The application I'm building uses Redux for more than API calls - it also includes the state of some UI items, for example which "Todo" is currently selected for editing. How would you go about combining the RTK Queries with regular Redux state that does not depend on an API call?
@DaveGrayTeachesCode
@DaveGrayTeachesCode 2 года назад
Thanks Daniel! You can do both. Here is a tutorial where I use RTK Query for login authentication, but then I store the auth state in Redux: ru-vid.com/video/%D0%B2%D0%B8%D0%B4%D0%B5%D0%BE--JJFQ9bkUbo.html ...I also apply this strategy in my recent MERN Stack Project series. Just an example that you can apply to any state you want to store in Redux when you are using RTKQ.
@danielrosenwald
@danielrosenwald 2 года назад
@@DaveGrayTeachesCode Thank you for the quick reply Dave! I'll check out those other videos.
@samislam2746
@samislam2746 2 года назад
Wow, this explanation is literally the best in the universe 🤔 You deserve the GOLDEN BUZZ! 🎉
@DaveGrayTeachesCode
@DaveGrayTeachesCode 2 года назад
Thank you, Sam! 🙏
@robg1395
@robg1395 Год назад
Thanks for the great tutorial. I have been dabbling a bit in RTK and so many things clicked for me while I was watching this
@DaveGrayTeachesCode
@DaveGrayTeachesCode Год назад
Glad to hear that!
Месяц назад
Best explanation of RTKQ I have ever seen
@baongocnguyen7036
@baongocnguyen7036 2 дня назад
Thank you. This is help me a lot for non-English learner
@CryPoison
@CryPoison 2 года назад
Thank you very much. I was a bit scared at first but knowing context api and redux makes this one easier than ever.
@DaveGrayTeachesCode
@DaveGrayTeachesCode 2 года назад
You're welcome!
@htmlfivedev
@htmlfivedev Год назад
This is the BEST tutorial on this topic in the whole youtube ... thanx very much dawwwgh!!
@DaveGrayTeachesCode
@DaveGrayTeachesCode Год назад
Thank you!
@Kisovn
@Kisovn 6 месяцев назад
Hi Dave, the app on my side works mostly fine, but the delete method is always returning “500 internal server error”. I have the same code and the post/patch methods work as intended. Thanks for your courses 😌
@mertdr
@mertdr 2 года назад
Great tutorial Dave, quick and easy! I’m reading the documentation now and maybe I might find the answer but I’d like ask. Apparenty RTK query is caching the data by default. I’m not sure about the use cases of caching since the state must be changed after any action taken by visitor. I noticed that invalidateTags is an array and it might be possible to invalidate certain keys only and cache the rest, am I right?
@DaveGrayTeachesCode
@DaveGrayTeachesCode 2 года назад
You are right on! It works very well 💯
@austinstephens3005
@austinstephens3005 2 года назад
Dave, Thanks for this breif tutorial on RTK Query. My team at work is using it in our project and I was looking for a quick and decent video on the topic to ease myself into learning it. This video did just that. Thank you sir.
@DaveGrayTeachesCode
@DaveGrayTeachesCode 2 года назад
You're very welcome, Austin! Glad I could help!
@georgy2763
@georgy2763 2 года назад
Hi Dave, thanks a lot for your amazing videos. I am curios what do you think about the typescript and if you going to cover it with React/Redux later? In my current junior internship position, it is required to know it, and it seems that many companies want you to know it these days (at least in Russia)
@DaveGrayTeachesCode
@DaveGrayTeachesCode 2 года назад
I'm planning on covering it soon because I agree that many now want their devs to know it. I don't think it is essential as JS and React work without it, but it is currently in demand.
@leonidkonstantinovich3418
@leonidkonstantinovich3418 2 года назад
Hi! Excellent tutorial, super informative and clear. Thank you very much. Could you say a few words about how to manipulate state using RTK Query? When using createAsyncThunk one sets up extrareducers where it is possible to change any state variable while handling api call "status" (pending, fullfilled, rejected). Should one create another slice for state management that will interact with the api slice? Or is it possible to incorporate the initial state in the api slice and change it based on data received from api?
@DaveGrayTeachesCode
@DaveGrayTeachesCode 2 года назад
Hi Leonid, and great question! I think what you are looking for is the transformResponse option in RTK Query. I'll be using it in the MERN Stack series I'm currently creating. redux-toolkit.js.org/rtk-query/usage/customizing-queries#customizing-query-responses-with-transformresponse
@leonidkonstantinovich3418
@leonidkonstantinovich3418 2 года назад
@@DaveGrayTeachesCode Thanks for answering! That's probably it, I'll give it a try
@MatheusVictorHenriquedaSilva
@MatheusVictorHenriquedaSilva 6 часов назад
Great video buddy. It really helped me today
@tamalmallick887
@tamalmallick887 2 года назад
Hi Dave, I am looking for something that you explain. It's amazing. Your explanation is very clear to understand RTK query with CRUD projects.
@DaveGrayTeachesCode
@DaveGrayTeachesCode 2 года назад
Glad I could help, Tamal! 💯
@hamidturkistani734
@hamidturkistani734 4 месяца назад
Thank you Dave, we need more people like you.
@DaveGrayTeachesCode
@DaveGrayTeachesCode 4 месяца назад
You're welcome!
@ahmedmusawir
@ahmedmusawir Год назад
This is the best one on the topic by far ... Great job! Thanx!!
@DaveGrayTeachesCode
@DaveGrayTeachesCode Год назад
Glad it was helpful!
@thimiraakash9024
@thimiraakash9024 Год назад
Thank you very much this is a really good video❣ Would u please tell me that how or from where did u take that ===>tagTypes:['Todo']. I had the idea what was the purpose for using that but need to know that how did u decide that 'Todo' is the tag. Thank you Dave! Cheers..
@moddaman90
@moddaman90 Год назад
Nice tutorial! Helped a lot. One question regarding RTX: I see that both in your tutorial and documentation the flow goes like this: - Get All Elements - Update (mutate) one element, then invalidate get all elements - Get all elements Seems to be overfetching.Usually when I update one element I would just fetch that updated version and update only that element in the list. Is this not best practice? I can´t figure out how to just fetch the updated element and update that in the list. Do you know?
@calebbush7559
@calebbush7559 2 года назад
Thanks a lot! Question, suppose you have several APIs to perform CRUD operations, how are you going to structure the files?
@DaveGrayTeachesCode
@DaveGrayTeachesCode 2 года назад
That's definitely more complicated. A good discussion of that with answers from one of the primary RTKQ maintainers here on Stackoverflow: stackoverflow.com/questions/69971375/how-to-use-two-api-reducer-with-rtk-query-in-configuration-store
@tejalbhavsar4610
@tejalbhavsar4610 2 года назад
hey dave thak you for creating this video, I read the docs but wan not clear about transfer response and cache, now i got them all.
@DaveGrayTeachesCode
@DaveGrayTeachesCode 2 года назад
Glad I could help! 💯
@stonecomstock
@stonecomstock Год назад
Thank you Dave. Very helpful! I am a little confused about the caching part though, where is the data being cached? Is it in our redux store/state? Or is it separate? For example are we able to target it with a useSelector and use the cached data in other components?
@DaveGrayTeachesCode
@DaveGrayTeachesCode Год назад
I understand the confusion. It is best to target it with one of the RTK Query hooks but then add the selectFromResult option for the hook. That way, a new request will not be issued for data you already have. Reference: redux-toolkit.js.org/rtk-query/usage/queries#query-hook-options
@stonecomstock
@stonecomstock Год назад
@@DaveGrayTeachesCode That makes sense! Thanks again!
@codernerd7076
@codernerd7076 2 года назад
I love this video it's one of the more clear explanation I saw on this topic, however keep with one big question. How do I use this with redux toolkit normal reducers, can I call the api slide from the reducer slides, what about using it to save one user login status? This seems to handle server state level data while redux handling client side data?
@DaveGrayTeachesCode
@DaveGrayTeachesCode 2 года назад
Good questions - and most of that is coming in the next one where I integrate RTK Query with the blog project and normalized state from the previous tutorials. You are correct that this interacts with the server data but it does keep a cache which is used until invalidated - then auto-refetch occurs.
@codernerd7076
@codernerd7076 2 года назад
@@DaveGrayTeachesCode awesome can't wait for the videos but take all the time you need
@geomukkath5373
@geomukkath5373 Год назад
Loved the tutorial. Just one question, why not use .reverse() method instead of .sort() ? That's far simpler. Let me know if there is a problem that I am not aware of.
@omarkraidie
@omarkraidie Год назад
I think your vscode theme has an outside effect on the quality of your videos :D It is just beautiful to look at!
@DaveGrayTeachesCode
@DaveGrayTeachesCode Год назад
Thank you, Omar! I'm using the Github theme. It has several dark mode options.
@Mark-iv5dl
@Mark-iv5dl 5 месяцев назад
thanks to you! learn it in 10 minutes haha skipping some parts but awesome
@neelnarwadkar5921
@neelnarwadkar5921 6 месяцев назад
Great content! How do i perform basic operations on fetched data that don't require an API such as increasing or decreasing quantity of a product in the cart, filter list by name.
@Clash-Roblox
@Clash-Roblox 10 месяцев назад
Thank you for your RTK query lesson but in my project, I have a lot endpoints and Slices to deal with. So in index.js file, how can I add others slices to api in ApiProvider?
@saketparasher3762
@saketparasher3762 2 года назад
Are you planning to update react auth series to use RTK Query insted of axios. Would love to work on conversion as I have implement user auth including retry and auto access token fetch in rtk query.
@DaveGrayTeachesCode
@DaveGrayTeachesCode 2 года назад
This is a good idea for a future video! 🙏🚀
@emmanuelakogwu7761
@emmanuelakogwu7761 Год назад
Awesome tutorial.....thank you But I'd like to ask, can one use rtkquery and reactquery for data fetching in React native too?
@DaveGrayTeachesCode
@DaveGrayTeachesCode Год назад
You're welcome! I have not, but it seems others have: bionicjulia.com/blog/implementing-rtk-query-in-react-native-app
@aileenchan3741
@aileenchan3741 Год назад
Dave, I like the VS Code plugin or extension that is highlighting vertically from open line to the end line (at 17:01 minutes). Do you remember the name by any chance? 😎
@tundeadebanjo6579
@tundeadebanjo6579 Год назад
Very well explained. Thanks Dave
@dvd34
@dvd34 2 года назад
Thank you Dave ! At 10:14 , what extension are you using to automatically spread the returned object from useGetTodosQuery ?
@DaveGrayTeachesCode
@DaveGrayTeachesCode 2 года назад
I think at 10:14 you are referring to "destructuring" the object from useGetTodosQuery. There is no extension for that. I just quickly pasted it into the code - while saying I was pasting it - but you just need to type that out.
@brortiz
@brortiz 10 месяцев назад
Thank you Dave, it helped me a lot!
@eslamelwakeil5922
@eslamelwakeil5922 6 месяцев назад
Thanks mr Dav for this amazing content❤️❤️
@shineLouisShine
@shineLouisShine 8 месяцев назад
What a neat introduction. Thank you!
@mounis
@mounis 2 года назад
Just what I was looking for, thanks a lot!
@DaveGrayTeachesCode
@DaveGrayTeachesCode 2 года назад
You're welcome! 💯
@davithchhung7577
@davithchhung7577 2 года назад
great video Dave! But I am a bit lost again :3 Can you explain when to use createAsyncThunk and when to RTK query? What are actually the differents? Thx
@DaveGrayTeachesCode
@DaveGrayTeachesCode 2 года назад
Hi Davith - they are both options, and you can use either one. It is good to know both as you might work on a codebase that uses either. I prefer RTK Query when creating new projects now.
@davithchhung7577
@davithchhung7577 2 года назад
@@DaveGrayTeachesCode thx you for the answer :)
@lacascadaobregon
@lacascadaobregon 2 года назад
Amazing. Love the way you put this together. I've not had a piece of code make so much sense in quite some time. Thanks!
@DaveGrayTeachesCode
@DaveGrayTeachesCode 2 года назад
You're welcome!
@digitalpartner7598
@digitalpartner7598 2 года назад
hello dave i hope you're doing ok , i'll never thank you enough for what you're doing , i have a question though, it's about the primary ids of the data entries should we hide them or hash them especially when we're using them along with the HTML or there will be no vulnerabilities issues if we let them as they are i mean the real values stocked in the database , any advice will be appreciated. thanks
@DaveGrayTeachesCode
@DaveGrayTeachesCode 2 года назад
I don't see an issue with using the ids. If you are concerned with security, that will not help much for gaining unauthorized access.
@digitalpartner7598
@digitalpartner7598 2 года назад
@@DaveGrayTeachesCode thank you sir, I have always have been concerned about users manipulating other users data, this is why I try to hide users ids and assure that the user can only manipulate the data that belongs to him so I stock the connected user Id in the token
@amin001001
@amin001001 Год назад
Hi Dave! Very cool content. Thanks. I had a question. I'm trying to call the API in a component, and read the value in another component (using lazy queries), however it never shows the result where I want to read it. I've checked and the value is written to the store, and is actually readable using useSelector with some hacky tricks. Do you know how can I possibly read the value in the destination component? Thank you!
@DaveGrayTeachesCode
@DaveGrayTeachesCode Год назад
With RTK Query, you want to use the same useQuery hook you used in the parent component - but use selectFromResult to get the data that was already requested. You can see an example of this here: github.com/gitdagray/react_redux_toolkit/blob/main/08_lesson/src/features/posts/SinglePostPage.js ..I had already used the useGetPostsQuery hook in the PostsList and did not want to create another request just to view one of the posts. Link to the parent component code here: github.com/gitdagray/react_redux_toolkit/blob/main/08_lesson/src/features/posts/PostsList.js
@sappy12dream29
@sappy12dream29 2 года назад
Here because HOD sir wants more features in my final semester project.. It's getting hard to come up with any suitable niche to justify my efforts
@DaveGrayTeachesCode
@DaveGrayTeachesCode 2 года назад
HOD = Head of Department? I'm not sure what class you are taking or what the project requirements are, but RTK Query is a nice addition for many projects. 🚀
@anupkubade6449
@anupkubade6449 2 года назад
Thank you for the tutorial Dave. Can you please guide me how can I implement Infinite scroll using RTK Query? I have a table, when I scroll to bottom, I need to fetch and append next batch of records till I fetch all the records.
@DaveGrayTeachesCode
@DaveGrayTeachesCode 2 года назад
You're welcome, Anup! In this tutorial (example #1), I show how to create an infinite scroll in React: ru-vid.com/video/%D0%B2%D0%B8%D0%B4%D0%B5%D0%BE-JWlOcDus_rs.html ...it is not specifically for RTK Query but the concept is the same. You will also see example #2 uses React Query. I could make a video on this for RTK specifically in the future.
@jiweihe3413
@jiweihe3413 2 года назад
Thanks for the great tutorial! RTK query seems very useful. 19:30 tagTypes for cache. I am not familiar with cache. Where is cached data stored? Is it something like local storage?
@DaveGrayTeachesCode
@DaveGrayTeachesCode 2 года назад
"A key feature of RTK Query is its management of cached data. When data is fetched from the server, RTK Query will store the data in the Redux store as a 'cache'." - Reference: redux-toolkit.js.org/rtk-query/usage/cache-behavior#default-cache-behavior
@jiweihe3413
@jiweihe3413 2 года назад
@@DaveGrayTeachesCode thank you! this is very helpful. It seems if we close the page that calls the useQuery hook or after the default 60s, the data in the cache will be gone. It is quite different from local storage.
@olenadiachenko8943
@olenadiachenko8943 2 года назад
Hi! I hate to comment, but not today. Information is very structured, clear, and helpful. Thanks a lot for your great work
@DaveGrayTeachesCode
@DaveGrayTeachesCode 2 года назад
Thank you! 💯
@AbhishekMishra-h3e
@AbhishekMishra-h3e 9 месяцев назад
At 9:50 How can I feed multiple slices to AppProvider if my component relies on data from differnt sources
@eleah2665
@eleah2665 2 года назад
Todo List! Never fails.
@DaveGrayTeachesCode
@DaveGrayTeachesCode 2 года назад
Classic CRUD 💯
@mariusngaboyamahina9190
@mariusngaboyamahina9190 2 года назад
Thank you, @Dave Gray
@DaveGrayTeachesCode
@DaveGrayTeachesCode 2 года назад
You're welcome, Marius! 🙏💯
@boburmirzomuhibullaev3081
@boburmirzomuhibullaev3081 Год назад
love your tutorials! Could you make your videos with typescript, please? I think it will another level
@DaveGrayTeachesCode
@DaveGrayTeachesCode Год назад
I am building a TypeScript for beginners series right now. After it is complete, I will add some additional TS content.
@hatembenechikh7035
@hatembenechikh7035 Год назад
a side question , what is the theme that you are using in vscode it look great :D
@DaveGrayTeachesCode
@DaveGrayTeachesCode Год назад
My theme choices: ru-vid.comdp4u1NNFhtE
@regilearn2138
@regilearn2138 2 года назад
Really appreciate you Dave ❤
@DaveGrayTeachesCode
@DaveGrayTeachesCode 2 года назад
Thank you, Regi! 🙏🙏
@josesantillan732
@josesantillan732 Год назад
Marvelous! Thanks man. Keep it that way
@DaveGrayTeachesCode
@DaveGrayTeachesCode Год назад
You got it!
@SanjarKodirov-ww3le
@SanjarKodirov-ww3le Год назад
thank you so much for this lesson. i am e project right now. And this video series helping me a lot )
@DaveGrayTeachesCode
@DaveGrayTeachesCode Год назад
Happy to hear that!
@DaveGrayTeachesCode
@DaveGrayTeachesCode Год назад
Glad to hear that!
@johnconnor9787
@johnconnor9787 Год назад
The best video on RTK Query
@DaveGrayTeachesCode
@DaveGrayTeachesCode Год назад
Thank you!
@emanuelmejia4525
@emanuelmejia4525 2 года назад
Your videos are gold, thanks so much!
@DaveGrayTeachesCode
@DaveGrayTeachesCode 2 года назад
Glad you like them! 💯
@jomaramomas7682
@jomaramomas7682 2 года назад
Thank you again for an awesome video man! Keep it up!
@DaveGrayTeachesCode
@DaveGrayTeachesCode 2 года назад
You're welcome and will do! 🚀
@michaelscofield5343
@michaelscofield5343 28 дней назад
what is the difference if I use createSlice method and do all of in this vedio manualy like in the pervious vedios and if I use RTK Query?
@ABUTAHER-wg7gz
@ABUTAHER-wg7gz Год назад
Hello if i want to use authorization headers for RTK Query, can i use direct argument? or have to store on redux store?
@theshortclipper
@theshortclipper 2 года назад
Thanks - can you please create video how to use customize basequery
@DaveGrayTeachesCode
@DaveGrayTeachesCode 2 года назад
You're welcome, Coach! I do customize a baseQuery in my Redux Auth tutorial: ru-vid.com/video/%D0%B2%D0%B8%D0%B4%D0%B5%D0%BE--JJFQ9bkUbo.html ...And I will be doing much the same in the MERN Stack Project series I just started. Also, if you haven't seen the docs on this part, they are helpful, too: redux-toolkit.js.org/rtk-query/usage/customizing-queries#customizing-queries-with-basequery
@nikolayshatalov5765
@nikolayshatalov5765 7 месяцев назад
amazing content! thank you, sir
@havefun5519
@havefun5519 Год назад
After createdSlice, createAsyncThunk, and createApi, it seems createApi is the most comfortable if integrate with API.
@DaveGrayTeachesCode
@DaveGrayTeachesCode Год назад
I agree! 💯
@waltergermanes4528
@waltergermanes4528 Год назад
Is it good practice to wrap index using apiprovider?
@marziehmokhtari7141
@marziehmokhtari7141 Год назад
thanks for your great teaching💐
@jritzeku
@jritzeku Год назад
Would it be acceptable to use Redux with React query instead of Rtk Query? It seem like they both serve same/similar purpose. Im currently watching your React Query tutorial so was hoping to implement that in my project that uses redux toolkit.
@DaveGrayTeachesCode
@DaveGrayTeachesCode Год назад
It would be a strange combination. I'm not saying it isn't possible, but React Query will cache data for you also. If you need separate global state, React's context API might be enough.
@jritzeku
@jritzeku Год назад
@@DaveGrayTeachesCode That makes sense! I had used redux over contextAPI primarily due to performance benefits but now with React query it def changes things. I think I'll stick with useEffect and redux for now since there is lot of codebase with it. Thanks.
@Adam-tz6gk
@Adam-tz6gk 2 года назад
Hey great guide, super helpful and to the point. Quick question: When would you use a Redux Thunk Middleware and when would you use an RTK API slice with createQueryApi?
@DaveGrayTeachesCode
@DaveGrayTeachesCode 2 года назад
While both are possible, I find myself using RTK Query all the time now.
@Adam-tz6gk
@Adam-tz6gk 2 года назад
@@DaveGrayTeachesCode Thanks for the reply!
@noellel
@noellel Год назад
Would love to see transformErrorResponse incorporated and tested by forcing an error within the associated API.
@DaveGrayTeachesCode
@DaveGrayTeachesCode Год назад
Good idea! transformErrorResponse should work in much the same way as transformResponse - to try it out, possibly disconnect your wifi / web while running the app in dev mode. You should get a 408 request timeout or similar.
@farnoodlotfali4912
@farnoodlotfali4912 2 года назад
thanks a lot for this Tutorial!!!
@DaveGrayTeachesCode
@DaveGrayTeachesCode 2 года назад
You're welcome, Farnood! 🚀
@artemiuszkuzniecow1283
@artemiuszkuzniecow1283 Год назад
Thank you so much! Amazing lesson!
@DaveGrayTeachesCode
@DaveGrayTeachesCode Год назад
You're very welcome!
@Thongtele
@Thongtele 2 года назад
Thank you Dave. You are great.
@DaveGrayTeachesCode
@DaveGrayTeachesCode 2 года назад
You are very welcome
@trentcox9239
@trentcox9239 2 года назад
gday mate, fantastic content. quick question that im driving myself insane over here trying to figure out. With the way rtk query is implemented when it comes to building api's, the only response validation (if you can call it that) that can be done is via typescript to infer the type of the response. thats great in a development environment, but correct me if im wrong, but id rather assume any and all third party responses are unknown until i pass the response through something like zod to validate/parse the response before passing it on to my application, thus making invalid states unrepresentable, and my application predictable. so far i cannot for the life of me figure out how to parse the response of an individual query and return either an error or data state. the only solution is to create your own base query for each endpoint, which in my opinion, negates the whole createApi thing in the first place, plus the validation should be at the resource level and not the base query level. my two cents. I feel like they've shipped a car with a great engine, but forgot to install the suspension with this one....if theres a way to validate a response and return the response or an error object for a slice or the application to pick up in its 'validated' form, im seriously all ears. Cheers mate.
@DaveGrayTeachesCode
@DaveGrayTeachesCode 2 года назад
I'd think you could use the transformResponse method to do some custom validation: redux-toolkit.js.org/rtk-query/usage/customizing-queries#examples---transformresponse and redux-toolkit.js.org/rtk-query/usage/customizing-queries#customizing-query-responses-with-transformresponse
@trentcox9239
@trentcox9239 2 года назад
@@DaveGrayTeachesCode cheers for the reply mate. intuitively that felt like the appropriate place for it, however any validation at this level that you would like to resolve to an error response wont happen because regardless of the result of the validation, it will be attached to the {data: ....} property that goes on to the application instead of the {error:...} object which is a real shame...because I use a typescript functional programming library (fp-ts), i could have my final data type as an Either but that then forces error checks in two separate areas (the error object itself and the possibility of a validation error against the data object) at the application level
@DaveGrayTeachesCode
@DaveGrayTeachesCode 2 года назад
I understand you are transforming the data, but have you tried throwing a custom error at that point in a try / catch? I do that inside of an onQueryStarted portion of an api slice and it works for me. At that point, you should have an error object that you can manipulate including the response status.
@trentcox9239
@trentcox9239 2 года назад
@@DaveGrayTeachesCode if that works im going to prescribe myself a few well placed uppercuts haha hopefully this is a case of missing the proverbial elephant in the room, cheers again for the reply mate!
@dharmeshgohil9375
@dharmeshgohil9375 2 года назад
Loved it brother
@DaveGrayTeachesCode
@DaveGrayTeachesCode 2 года назад
Thank you, Dharmesh! 💯
@anonymousmangalorean
@anonymousmangalorean 2 года назад
Hey Dave . I would like to see a redux toolkit/ RTK query + firebase authentiction flow video. Please try to make this video.
@DaveGrayTeachesCode
@DaveGrayTeachesCode 2 года назад
Firebase would make an interesting addition! Thank you for the request! 💯
@mindblown9365
@mindblown9365 Год назад
Excellent tutorial. Thanks alot.
@DaveGrayTeachesCode
@DaveGrayTeachesCode Год назад
You're welcome!
@somnathdas8922
@somnathdas8922 10 месяцев назад
Thanks for this tutorial.
@matthewgrichmond
@matthewgrichmond 2 года назад
Thanks, this helped me a lot!
@DaveGrayTeachesCode
@DaveGrayTeachesCode 2 года назад
Glad to hear it! Thank you for the support! 💯🚀
@srinivasnahak3473
@srinivasnahak3473 Год назад
Thank you so much for explaining everything so clearly! :) One suggestion: Even if you've to make an even simpler app you can, please write and don't copy and paste the code. Because it can get confusing for some viewers. Again, that's just a suggestion.
@thomassleeman9780
@thomassleeman9780 Год назад
Hi Dave, thanks for the video. I understand everything you have covered but what about if you want to set up a mutation in apiSlice with data that is a manipulated version of what was fetched from a query? I tried pulling an object array into a component using a RTKQ query hook but when I duplicated the array and tried to make changes to it inside the component I got an error saying that the object elements are read-only.
@DaveGrayTeachesCode
@DaveGrayTeachesCode Год назад
I think you are looking for something like transformResponse: redux-toolkit.js.org/rtk-query/usage/customizing-queries#customizing-query-responses-with-transformresponse
@thomassleeman9780
@thomassleeman9780 Год назад
@@DaveGrayTeachesCode thanks, I’ll give that a go.
@sonamohialdin3376
@sonamohialdin3376 2 года назад
Amazing tutorial
@DaveGrayTeachesCode
@DaveGrayTeachesCode 2 года назад
Thank you! Cheers!
@fooked1
@fooked1 2 года назад
So is redux useful anymore? Seems RTK query is all you need. What am I missing?
@DaveGrayTeachesCode
@DaveGrayTeachesCode 2 года назад
You can use them together when you need both a local global state AND timely data from an API layer. For example, you might store your user auth data in local state after login and still need the API layer to request and update records.
@benarbiamohamedtaher546
@benarbiamohamedtaher546 Год назад
Thanks a lot Dave
@DaveGrayTeachesCode
@DaveGrayTeachesCode Год назад
You're welcome!
@sagarramaswamy8368
@sagarramaswamy8368 Год назад
Thanks a lot for the tutorial
@DaveGrayTeachesCode
@DaveGrayTeachesCode Год назад
You're welcome!
@ibehmicheal4192
@ibehmicheal4192 Год назад
YOU ARE A GENIUS.....NO 🧢
@DaveGrayTeachesCode
@DaveGrayTeachesCode Год назад
Thank you!
@kevinliao5021
@kevinliao5021 2 года назад
I really like ur video. keep doing it👍
@DaveGrayTeachesCode
@DaveGrayTeachesCode 2 года назад
Glad to hear that - I'll keep going!
@headlikeahole6548
@headlikeahole6548 9 месяцев назад
Good video, thanks.
@farshidghilich1114
@farshidghilich1114 2 года назад
thank you that was very useful
@DaveGrayTeachesCode
@DaveGrayTeachesCode 2 года назад
Glad to hear that!
@johnddonnet5151
@johnddonnet5151 2 года назад
Can you make same tutorial with e-com related CRUD stuff, login, cart, user profile option, etc. with TS, because the TODO list is not very useful for real projects and without TS is kinda meh for job use.
@DaveGrayTeachesCode
@DaveGrayTeachesCode 2 года назад
This tutorial series moves on to another video with RTK Query that is more complex (ru-vid.com/video/%D0%B2%D0%B8%D0%B4%D0%B5%D0%BE-9P2IUx13MZI.html). I will eventually do something with TS, but first, I want to launch a TS series this year with foundational concepts to refer viewers back to.
@johnddonnet5151
@johnddonnet5151 2 года назад
@@DaveGrayTeachesCode Thanks! Great content, very easy to understand explanations. Do you do coaching/code reviews?
@marvellousadesanya8480
@marvellousadesanya8480 Год назад
When are we to use async thunk and when are we to use rtk query?
@DaveGrayTeachesCode
@DaveGrayTeachesCode Год назад
Async thunk can work with a traditional Redux store. RTK Query will create an API layer and use a cache of data which can be invalidated. The docs shed some light on this question, too: redux-toolkit.js.org/rtk-query/comparison#when-should-you-use-rtk-query
@komilolimov2257
@komilolimov2257 Год назад
Thats was awesome
@osasferguson
@osasferguson Год назад
Hi Dave, is there a way to trigger the default GET request by the click of a button? Does the "useGetTodosQuery" also provide a getToDos function that can be used to make a GET request on the click of a button just like the other mutation method hooks do?
@DaveGrayTeachesCode
@DaveGrayTeachesCode Год назад
Yes, look into refetch: redux-toolkit.js.org/rtk-query/usage/cache-behavior#re-fetching-on-demand-with-refetchinitiate
@osasferguson
@osasferguson Год назад
@@DaveGrayTeachesCode thanks, just looked it up now
@mnmnisrat
@mnmnisrat 7 месяцев назад
Will u please cover this with netlify hosting in a new video
Далее
小丑调戏黑天使的后果#short #angel #clown
00:16
КТО БОИТСЯ КЛОУНОВ?? #shorts
00:20
Просмотров 443 тыс.
State Managers Are Making Your Code Worse In React
13:33
I tried 8 different Postgres ORMs
9:46
Просмотров 418 тыс.