React Router in Depth #6 - Loaders

  Рет қаралды 58,045

Net Ninja

Net Ninja

Күн бұрын

In this React Router tutorial you'll learn about loaders - a newer way to fetch component data.
⭐⭐ Watch the whole course now (without ads) on Net Ninja Pro:
netninja.dev/p...
🐱‍💻 Access the course files on GitHub:
github.com/iam...
🐱‍💻 React Tutorial:
On Net Ninja Pro - netninja.dev/p...
On KZbin - • Full React Tutorial #1...
🐱‍💻 React Router Docs - reactrouter.co...
🐱‍💻 VS Code - code.visualstu...

Пікірлер: 78
@donnmichaelcleofe7132
@donnmichaelcleofe7132 4 ай бұрын
I really appreciate when the tutorials are up to date. Pls keep the good job
@stefanmasic1287
@stefanmasic1287 Жыл бұрын
I'm just enjoying and learning. Super perfect. Thanks 1.000.000 times.
@Spyder22dz
@Spyder22dz Ай бұрын
thanks for the tutorial , now my search bar works just fine with this loader method
@ggrlmon
@ggrlmon Жыл бұрын
I've been following your other videos and it really helped me have a better understanding of how react router works. Regrading loaders I think you missed one fundamental concept here, which is the wait time. Since you're loading your data from a static file there's no wait time. Using this loader approach when calling actual api's there would be a delay before the page renders. With the useeffect you can handle that delay by adding a spinner or something, informing the user that the page is loading. Is there a way to do that with the loader?
@aymanechaaba
@aymanechaaba Жыл бұрын
use Suspense or state from useNavigation hook provided by React Router. let me know if this helped
@masterwayne9790
@masterwayne9790 10 ай бұрын
@@aymanechaaba Suspense component might help with his case as you mentioned
@AdsCity24
@AdsCity24 Ай бұрын
That's a really great lesson course and easy to understand, good job Sir 🤩🤩. It'd be a salvation if you could make a tutotial on how to host a React App, as you are using react-router-dom hook. I am struggling on something called Client Side Rendering & Server Side Rendering (which returns a 404 page not found, in my case). Would appreciate, Sir ✨✨
@willysnowman
@willysnowman Жыл бұрын
I watched the whole tutorial. Thank you!! Loaders seem to work well for /componentA/componentB/:id. My data, however, is dynamic so I cannot point to :id as the id may change as the data changes. So my path ended up /loader where useEffect loads the data into session memory then redirects to /componentA which reads the data from session memory. I could also useContext, but session memory works for now. Just pointing this out for others since it took me a while to realize it. Once you redirect all the state and params are gone!
@2pac2pac2pac
@2pac2pac2pac 4 ай бұрын
the end point created automatically but how it got the /careers from where it got this
@muhammedrashid3957
@muhammedrashid3957 Жыл бұрын
is loader replaces useEffect hooks? I don't understand when to use loader function exactly can anyone explain?
@michaelkurzewski2937
@michaelkurzewski2937 Жыл бұрын
Elooo. I think we could abandon react router, and turn our attention to tanstack.
@kelsey_roy
@kelsey_roy 10 ай бұрын
Alternatively, you could put this in `your package.json` scripts section: `"start-db": "npx json-server --watch data/db.json --port 4000"` . To call it, just do: `npm run start-db`
@onigbindedavid6630
@onigbindedavid6630 2 ай бұрын
Please how do I use ds for firebase authentication since i can't use hooks with ds
@souviknag
@souviknag 6 ай бұрын
is this possible to call multiple loaders, passing the redux store? ...... { path: "overview", element: , loader: [viewLoader(store), viewWorkLoader(store)], } .......
@GethushanRavichandran
@GethushanRavichandran Жыл бұрын
Please create a Playlist about "Creating E-Commerce Website using Strapi , MongoDB, React , and Stripe"
@siralone3646
@siralone3646 Жыл бұрын
Does anyone know how should I combine a React Router and RTK Query? RTK Query creates a Hook, should I use that hook on my loader function? Thx
@iganic7574
@iganic7574 10 ай бұрын
but what about error? what if error generate while making api req?
@RoyaLearns
@RoyaLearns Жыл бұрын
Hi I did all the steps but I'm getting this error : Failed to fetch Failed to load resource: net::ERR_CONNECTION_REFUSED What should I do?
@ВіталійБілоус-э2в
@ВіталійБілоус-э2в Жыл бұрын
Try to add some latency and you will be wondered with this approach
@yhuukee7053
@yhuukee7053 Жыл бұрын
Loader can be used with custom hook?
@maskman4821
@maskman4821 Жыл бұрын
Nope, it can't, it fetches data and render before dom mounted, it works kind of like sever side render.
@yhuukee7053
@yhuukee7053 Жыл бұрын
@@maskman4821 ok, thank you!
@mm6710
@mm6710 Жыл бұрын
i tried to use it with ContextAPI but i got an error saying ( i can't use 'useLoaderData' outside of a route ). suks but understandable
@hervinsonsamson1531
@hervinsonsamson1531 Жыл бұрын
Is this a good idea to put my authentication in the loader fn?
@orionsquare
@orionsquare Жыл бұрын
@3:41 does not work for me. Put up a comment but was deleted?
@dapolcio3405
@dapolcio3405 Жыл бұрын
Isn't it a bad practice to fetch data from server every time we go to career page? Isn't it better to fetch it once with useEffect hook?
@andrewtran9870
@andrewtran9870 11 ай бұрын
Complete beginner here, but if you used useEffect to call the API, wouldn't it still need to call the API and fetch data from the server every time the career page is accessed?
@rumble1925
@rumble1925 Ай бұрын
No don’t optimise prematurely
@lovelynduru-magnus3233
@lovelynduru-magnus3233 9 ай бұрын
I'm getting "assignment to undeclared variable res" when i click on the careers link. Am i missing something? @NetNinja
@Jamie-qz7vm
@Jamie-qz7vm Жыл бұрын
There is no outlet component specified .
@michalnowak2181
@michalnowak2181 Жыл бұрын
thx
@mohamedyoussef8835
@mohamedyoussef8835 Жыл бұрын
Awesome video +++++++++++ 😀
@towatch
@towatch Жыл бұрын
♥️♥️✌🏻
@flowerofash4439
@flowerofash4439 Жыл бұрын
I am stil not sure why that hook is made, we can just make the same behaviour with useEffect. also what if it is used in real world where upload and download speed is a thing, there is no mentioned way to tell the user that "the app is not frozen but we are downloading something", while using useEffect everybody know how to handle it.
@emuemhonjieonosereme2495
@emuemhonjieonosereme2495 11 ай бұрын
Sir for this loader async function we use await but there is no try catch block.. What if the route localhost:4000/careers cannot be found ie it throws an error, will the react router automatically render the error element?
@AmitKumar-cp6mx
@AmitKumar-cp6mx Жыл бұрын
I have a couple of questions? 1) What if data fetching take some time?, how can we add spinner ? 2) how to use data in other pages? Cuz fetching data everytime is a bad practice. (I think if we dispatch an action or setState in the rendered component then it can work otherwise we can't use hooks and rtk outside the react component) 3.Can useLoader completely replace useEffect in data fetching?
@shineLouisShine
@shineLouisShine Жыл бұрын
I wish someone who knows the answers would have respond to you... 🧐
@m_miko
@m_miko Жыл бұрын
You're the first guy I recommend to anyone I know when we come to programming staff, I question I this you can return your loader with a defer like return defer({ value: somethingHere }); can you do a video on that too please.
@paulclarke4099
@paulclarke4099 Жыл бұрын
Can't wait for you to do a SvelteKit 1.0 course, now that its officially released 😀👍
@maskman4821
@maskman4821 Жыл бұрын
Wow, React has evolved, the loader function is one of the feature Sveltekit provides, it fetches data and render right before component mounted, this way we get better user experience because we don't need a loader indication and user won't see empty content. I think React is pushed to Server side render way, all these popular frontend frameworks has SSR capability right now in order to survive, because meta-frameworks such as Sveltekit, Next, Nuxt, Remix are taking over, it is good to know we can do this with React 😘
@ssumit196
@ssumit196 Жыл бұрын
but it doesn't provide cache and other features like react-query and swr right?
@adiii41
@adiii41 7 ай бұрын
It would be much nicer if you could put any hooks inside loader. Now for example im wondering how the heck use lodaing screen while loader is fetching data :D
@Dakun
@Dakun 5 ай бұрын
Actual information starts at 4:34
@dennisogbonnaya5923
@dennisogbonnaya5923 Жыл бұрын
How do you handle server errors with the useLoder hook?
@niraz9130
@niraz9130 3 ай бұрын
9:30
@jerrerock
@jerrerock Ай бұрын
I am following a course on CodecAdemy but for many parts I am also watching your tutorials which are explaining it a lot better!
@1910X3
@1910X3 3 ай бұрын
Very nice tutorial about "React Router"! Hope you can make a series tutorials about "Remix Run" of React!
@nickwoodward819
@nickwoodward819 Жыл бұрын
is there any way to have reduxTK deal with the request? like maybe dispatching an action from within careersLoaded? (~ @3:30) would that work?
@nishantnimish7825
@nishantnimish7825 Жыл бұрын
Is loader worth using over useeffect except the memory it saves us?
@fariadworld446
@fariadworld446 Жыл бұрын
Why are you using Loaders to fetch data and not useEffect?
@lenvonahom
@lenvonahom Жыл бұрын
you are just master of all code i got all i need for the semester in just you 1 series of video thanks a lot your are really being helpful
@GhanayemOmar
@GhanayemOmar Жыл бұрын
how can i pass data to the loader fun?
@a13519
@a13519 6 ай бұрын
Your are the best on KZbin
@suzunome47
@suzunome47 Жыл бұрын
Does anyone know how to use useContext in a loader function? I need to access some data in my global context but apparently you can't use hooks outside of a React component.
@vasylmashkarynec7078
@vasylmashkarynec7078 11 ай бұрын
It's impossible for the moment, or at least it's not suppose to be used there, router developers stated that loaders and actions was introduced in order to decouple fetching data and rendering, however there is voting to introduce this functionality like element: ... loader: ... context: ...
@swagfinger
@swagfinger Жыл бұрын
so good
@muhammadrifqy24
@muhammadrifqy24 Жыл бұрын
I am trying to use useLoaderData in the other page, but the result is being read as 'undefined'. Does this mean that useLoaderData can be used only in the route component in which loader has been used. If yes, then how can I use the result returned in the other page? 🙏
@RustemmKh
@RustemmKh 10 ай бұрын
useFetcher()
@codewithluq
@codewithluq Жыл бұрын
Does the loader function make useState and useEffect ways of fetching data sort of obsolete??
@Tussu17
@Tussu17 6 ай бұрын
I think the same!
@annametel9638
@annametel9638 8 ай бұрын
Thank you You are my favourit teacher!💓
@NetNinja
@NetNinja 8 ай бұрын
Wow, thank you! :) that means a lot
@taofeekiyanda3050
@taofeekiyanda3050 Жыл бұрын
Amazing 😍. Just at the right time
@NetNinja
@NetNinja Жыл бұрын
Hope it's helpful Taofeek!
@517nickyj
@517nickyj Жыл бұрын
Can you use the useLoaderData hook in subroutes and treat it as a sort of context for all child routes?
@dennisgiovanniaguirreherna9361
@dennisgiovanniaguirreherna9361 Жыл бұрын
I think useLoaderData should work with that, is also included with React router 6
@rumble1925
@rumble1925 Ай бұрын
userouteloaderdata(routeId) does this
@ReadingNotAllowed
@ReadingNotAllowed Жыл бұрын
Anyone else getting """ Unhandled Thrown Error! - NetworkError when attempting to fetch resource. """ when entering localhost:3000/careers ?
@flyflor599
@flyflor599 Жыл бұрын
powershell Set-ExecutionPolicy -Scope "CurrentUser" -ExecutionPolicy "RemoteSigned"
@mambaa11
@mambaa11 Жыл бұрын
@@flyflor599 for some reason it does not work for me. it just says command not found
@chasemorin1843
@chasemorin1843 10 ай бұрын
getting same error output to browser, no errors in the terminal
@chasemorin1843
@chasemorin1843 10 ай бұрын
add "proxy": "localhost:4000/" in your package.json file. In your careers loader function use a relative path in your fetch command ('/careers') is stead of the whole domain path.
@hahahahm6003
@hahahahm6003 9 ай бұрын
use npx before the command he typed
React Router in Depth #7 - Route Parameters
10:01
Net Ninja
Рет қаралды 38 М.
React router crash course
55:54
Hitesh Choudhary
Рет қаралды 38 М.
Самое неинтересное видео
00:32
Miracle
Рет қаралды 2,9 МЛН
Cute
00:16
Oyuncak Avı
Рет қаралды 12 МЛН
Bike Vs Tricycle Fast Challenge
00:43
Russo
Рет қаралды 98 МЛН
Предзагрузка данных через роутинг
24:48
Михаил Непомнящий
Рет қаралды 29 М.
Learn React Router v6 In 45 Minutes
46:20
Web Dev Simplified
Рет қаралды 559 М.
Обзор React Router v6 4+. Form,  action, loader, useLoaderData.. [eng subs]
44:21
Давай Попробуем: JavaScript
Рет қаралды 3,8 М.
Обработка ошибок в React-приложении | Error Boundary
19:10
Михаил Непомнящий
Рет қаралды 19 М.
I'm Never Using React Router Again
13:12
Josh tried coding
Рет қаралды 56 М.
Loading Your React Data Like This is Awesome
13:27
Josh tried coding
Рет қаралды 110 М.
Every React Concept Explained in 12 Minutes
11:53
Code Bootcamp
Рет қаралды 663 М.
React Router V6.4+ Tutorial - New Syntax, useLoaderData...
24:55