Most Beginner React Developers Do This Wrong

  Рет қаралды 240,386

Web Dev Simplified

Web Dev Simplified

Күн бұрын

Пікірлер: 280
@KCrossReal
@KCrossReal 2 жыл бұрын
One small thing I'd add to the top of the useMemo -> if (!query) return items So you don't iterate over the whole list of items if there is no query Important for large lists, and also use debouncing in large lists
@wasd3108
@wasd3108 2 жыл бұрын
top 10 mistakes a clickbaiter makes when viewer fkin his mom [DO NOT MAKE THIS MISTAKE YOURSELF!]
@p33yush
@p33yush 2 жыл бұрын
true! small but awesome observation
@parlor3115
@parlor3115 2 жыл бұрын
But then again, you don't want to have large lists as you'll use server side pagination
@lauralegerofficial
@lauralegerofficial 2 жыл бұрын
​@@parlor3115 It depends, really. Sometimes I will use large lists that are generated on the client side.
@theBarracuda_
@theBarracuda_ 2 жыл бұрын
isn't that redundant with useMemo and depende. array?
@merotuts9819
@merotuts9819 2 жыл бұрын
Just wasted my whole day yesterday developing a complex people search box at my job. Had to learn all this the hard way 😅 If only you'd posted this a bit sooner 😆
@ayoubdouch6975
@ayoubdouch6975 2 жыл бұрын
Now, your mind and body will never forget how to make a search box for the rest of your time
@yuchuga8341
@yuchuga8341 2 жыл бұрын
You can just use react-select library for search input select field. Amazing library
@seventeeen29
@seventeeen29 2 жыл бұрын
You only wasted a day. Those are rookie numbers in this bracket
@Suz4n650
@Suz4n650 Жыл бұрын
Yeah ! Kyle is a real a hole ! Kidding ofc ! Amazing content !
@lickey8919
@lickey8919 11 ай бұрын
...? What lamo
@techwithtaku
@techwithtaku 2 жыл бұрын
Ever since I started watching this channel, my react skills are improving. thanks man
@anatolydyatlov963
@anatolydyatlov963 2 жыл бұрын
I don't know why, but almost every time I watch your "most people do it wrong" videos, I realise that I've been doing the given thing correctly despite the fact that I've learned React on my own through experimentation. Nevertheless, I love watching them just to confirm that there's no better approach. Great work, man, keep it up!
@kakun7238
@kakun7238 Жыл бұрын
Fr
@srpatata4172
@srpatata4172 Жыл бұрын
☝🤓
@anatolydyatlov963
@anatolydyatlov963 Жыл бұрын
@@srpatata4172 🤓🤘!
@PROJECTJMUSIC
@PROJECTJMUSIC 2 жыл бұрын
Very helpful! I was actually doing mistake #2 in a recent project, but now I know that I'll have to change that :D
@DiestroCorleone
@DiestroCorleone 2 жыл бұрын
Me too. I was proud of myself, thinking 'I completely dominate forms in React'. But Kyle proved me wrong, and I'm thankful for that. Plus, I learned how to use useRef and useMemo (might have to read more about it to fully understand it), but overall, this was a very useful video.
@Valyssi
@Valyssi 2 жыл бұрын
Key takeaway (which is also stressed in the react docs): don't duplicate state. It is extremely rare for state needing to be duplicated (ie. the same data appearing in different states, or multiple times within the same state). The memoization is a nice addition and good to be aware of, but the docs recommend against preemptive optimizations. If you do optimise, you should keep in mind the memory footprint of that memo and most importantly whether the memo tends to be used (versus a component whose primary state changes involve changing one of the dependencies of the memo)
@und0
@und0 2 жыл бұрын
This is a sort of hack but for this specific situation the best way is actually to hide the items using css attribute selectors :P then hide them with [data-search*=""] { display: none } Obviously this is an over simplification but works for very large lists
@nguyenduy-sb4ue
@nguyenduy-sb4ue 2 жыл бұрын
What ? That is super mess up
@und0
@und0 2 жыл бұрын
@@nguyenduy-sb4ue Why would it be messed up? It accomplishes the task without super expensive rerenders or DOM manipulation at all. If you have a list of 10,000 nodes removing those from the DOM tree is extremely expensive especially since it blocks the entire thread. Utilizing the browser's much faster css engine would be tens of times faster
@und0
@und0 2 жыл бұрын
@@agenticmark no shit sherlock, that's the point. Everyone knows React sucks at rendering large arrays that's why we sometimes have to use "hacks". Or tricks to get around its limitations
@mohammadrafi895
@mohammadrafi895 2 жыл бұрын
Thanks for explaining that. I saw the correct way a couple of times but didn't really understand why we need to do it that way.
@developer_hadi
@developer_hadi 2 жыл бұрын
THIS VIDEO CAME IN THE RIGHT TIME, THANK YOU SO MUCH YOU'RE THE SIMPLEST ON KZbin
@rhnkashyap
@rhnkashyap 2 жыл бұрын
After watching WDS tutorials I am able to write React code. Thanks man!!! Very much appreciated.
@nabeelahmed7754
@nabeelahmed7754 2 жыл бұрын
Super useful.... I was just working on the filters last day.... And i used the first approach.... And now you taught me the correct method.... Thanks buddy ♥️
@kwtr
@kwtr 2 жыл бұрын
I just finished going through the entire React documentation and this is the best video for me to get started on a new project with React! Thanks Kyle
@parlor3115
@parlor3115 2 жыл бұрын
Now you'll get to build your dream project sooner
@siriusFish1
@siriusFish1 2 жыл бұрын
@@parlor3115 lol
@aashish_stanl
@aashish_stanl 11 ай бұрын
Thanks brother. I am learning react now. Hoping to see me coding like you soon in few years.
@thilankawijesooriya
@thilankawijesooriya Жыл бұрын
I'd been using the useState hook to update the "filteredItems" array also..The way I used to do this was updating the state of "filteredItems" array within a useEffect(updates the filteredItems array when the query changes)..But with this method you manipulate the data inside the filteredItems array nicer than my method and It saves a rerender..Thank you for the demonstration ♥
@venzkie89
@venzkie89 2 жыл бұрын
I've learned a lot from this guy since I subscribed from this channel. I always looked back from his video list whenever I got stuck from coding. Thank you man.
@jrm_0749
@jrm_0749 Жыл бұрын
Nice video mpan, but to me, it's still not the most efficient way to do it because you're still storing the filtered array. Instead, you can just filter the items array directly in the render() right after the map function. Tell me if I'm missing something.
@yuritavares1916
@yuritavares1916 2 жыл бұрын
Your communication skills are impeccable. Great video!!
@martintopolanek448
@martintopolanek448 2 жыл бұрын
Quick tip: You don't need to write return if you wrap function body in parentheses. So instead doing this: filteredItems = items.filter(item => { return item.toLowerCase()... }) You can do this: filteredItems = items.filter(item => (item.toLowerCase()... ))
@ridiculousgames365
@ridiculousgames365 2 жыл бұрын
You don't even need the parenthesis here because you're returning a single value. This is called implicit return. You would only need parentheses if you were returning an object, for example, items.filter( item => ({ foo: bar }) ).
@martintopolanek448
@martintopolanek448 2 жыл бұрын
@@ridiculousgames365 Yeah, you are right.
@aayushgupta8686
@aayushgupta8686 2 жыл бұрын
Such a simple use case, but still so many wrong techniques to implement a search bar. Thanks for making such videos
@luzaw4957
@luzaw4957 Жыл бұрын
One mistake I've learned is that I continuously fire API or filters items on input change, so, it's better to add debounce function, wait until the typing is finished and fire API or filter.
@The14Some1
@The14Some1 Жыл бұрын
4:30 you can extract input value without using ref either by accessing form elements like this: console.log(e.target.elements.inputElementName), or by extracting formData like this: const data = FormData(event.target); console.log(data.get("inputElementName")); Both require you to assign the name to your input element, though.
@thomas-gk9jp
@thomas-gk9jp 2 жыл бұрын
Thank you, explanations are really good ! Maybe you could explain a bit more the custom hooks / useEffect concept, which is not the easiest to understand ?!
@Devanshukoli
@Devanshukoli 2 жыл бұрын
Hey! Thanks, Kyle I was confused in my react project about adding filtration and this video solved it perfectly... Thanks really .... You mentioned that you have a free react course right? Now I'm gonna check that as well... I learned a lot...Thanks.
@whatsapp176
@whatsapp176 2 жыл бұрын
Helpline 📲📩⬆️ Questions can come in⬆️
@dem0niker136
@dem0niker136 Жыл бұрын
Wow! This was so helpful. Will be using this method from now on. Thanks!
@visionl.3754
@visionl.3754 2 жыл бұрын
I am really grateful for all the content, thanks Kyle!
@curiousLeafy
@curiousLeafy Жыл бұрын
The third way was what i was doing from the beginning of my react learning. I thought this is how people do it because it made sense if a state changes a component rerenders so storing the input value in state makes your component rerender thus storing the filtered value in a regular variables works just fine.
@st1llsane456
@st1llsane456 2 жыл бұрын
Thank you, I'm doing my first mini-project and it helped me a lot
@DiestroCorleone
@DiestroCorleone 2 жыл бұрын
I thought I was good at handling forms until I saw this video. Awsome tips, as usual. Thanks a lot!
@PatrikTheDev
@PatrikTheDev 2 жыл бұрын
Have you considered switching to Vite in your future tutorials? CRA is no longer the best way to make very lightweight SPAs. You can look up videos on why that’s the case for most uses
@jrylslice92
@jrylslice92 2 жыл бұрын
I'm a few weeks into react, and I keep seeing youtubers also saying not to use CRA lol. Might have to look into Vite as well. Thanks for the heads up!
@Valyssi
@Valyssi 2 жыл бұрын
It never was the best way to make lightweight SPA's, it was intended as a learning tool and for that it still serves its purpose (though you'd be right to point out that vite is largely just as beginner-friendly as CRA and can easily serve the same purpose, in addition to being production-friendly). That said, it would be nice for him to at least address vite and the problems with using CRA on any project that isn't just for learning.
@ontheruntonowhere
@ontheruntonowhere 2 жыл бұрын
His ears must have been burning bc he just released a video about using Vite instead of CRA.
@PatrikTheDev
@PatrikTheDev 2 жыл бұрын
@@ontheruntonowhere that doesn’t mean his ears are burning or smth, he just realized he was wrong and that’s good
@ontheruntonowhere
@ontheruntonowhere 2 жыл бұрын
​@@PatrikTheDev It's a figure of speech dude. Doesn't mean he was wrong.
@lickey8919
@lickey8919 11 ай бұрын
Like every other turorial out there, this is nice for small projects for learning react or small scale personal websites. Id like to see a server sided pagination with filters tutorial. I think that would be very useful
@RodrigoAlvesdeMacedo
@RodrigoAlvesdeMacedo 11 ай бұрын
Amazing! I'm learning sooo much with your videos! Thank you!
@israelruas948
@israelruas948 5 ай бұрын
Man, you are a genius programming - Thank you so much for the tutorial. It helped me a lot. a tip for everyone. {query ? setFilteredItems.map((item) => { return ("your components and etc") : null } It will display the list only when the user starts typing.
@TonyStark90743
@TonyStark90743 2 жыл бұрын
Please make videos on node js and express more. We need updated and advanced topics covered in those videos. Thanks 🙏👍🏻
@licokr
@licokr 2 жыл бұрын
When you used two states filteredItems and items, there was a small mistake that if you added an item, the time would be added anyways regardless of filtering because you didn't filter an item before adding the item into filteredItems... it wasn't the point of this video tho... I just saw it so.. Thank you! I've been really enjoying watching your videos, they've helped a lot!
@whatsapp176
@whatsapp176 2 жыл бұрын
Helpline 📲📩⬆️ Questions can come in⬆️
@peter9759
@peter9759 Жыл бұрын
As always great videos I directly jumped to correct filtering method
@luiza177music
@luiza177music Жыл бұрын
Why do we need a state for query, wouldn't it be simpler to just do the filtering in the onChange event and just grab the value there?
@wpxpert98
@wpxpert98 2 жыл бұрын
thank you kyler for this video, it's really helpful
@khoinguyen-ft2ys
@khoinguyen-ft2ys 2 жыл бұрын
One thing to notice is that, the cost of recalculate filteredItems is not that much, but the cost of re-render filteredItems into the tree is much more bigger
@RandomGuy-jv4vd
@RandomGuy-jv4vd 2 жыл бұрын
@@khoinguyen-ft2ys Ahh...the blog post which you cited also addressed the same thing as my link above: "Unnecessary re-renders by themselves are not a problem: React is very fast and usually able to deal with them without users noticing anything" Therefore, most of the time, it's more likely the issue of slow render rather than Unnecessary re-render. Anw, tysm for such an in-depth article, I'm very glad that I learnt something new after all :D
@khoinguyen-ft2ys
@khoinguyen-ft2ys 2 жыл бұрын
@@RandomGuy-jv4vd You're welcome
@rolfchristensen9026
@rolfchristensen9026 2 жыл бұрын
Thanks a lot for keeping me from falling into all the pits and stepping on mines :)
@whatsapp176
@whatsapp176 2 жыл бұрын
Helpline 📲📩⬆️ Questions can come in⬆️
@mikhailvasilev5798
@mikhailvasilev5798 Жыл бұрын
Nice, but you don’t need a ref. You can take input value from the event in the handle submit.
@kellecierion
@kellecierion 2 жыл бұрын
A very good video. I love your content, they are simple and easy to understand. I love those contents were it's explained why it is not correct or vice-versa. Best regards
@ahmedelbougha
@ahmedelbougha 2 жыл бұрын
Thank you, Kyle. Great video as usual!
@bass1387
@bass1387 8 ай бұрын
Stuff for beginners)) Perfect result in the end!
@강용우-n2h
@강용우-n2h 2 жыл бұрын
One of the fastest lectures I've ever seen
@Teshuva-j1b
@Teshuva-j1b Жыл бұрын
Just what I needed! Thanks!
@jwh-e2p
@jwh-e2p Жыл бұрын
Hi, great video. But do you agree that react is only suitable for (very) senior devs, since there are soooo many code ‘design’ mistakes to make? As a project manager with dev skills, I just don’t dare to start a react project due to this complexity for an enterprise client.
@yvysunu
@yvysunu 2 жыл бұрын
This is the first time I have seen this kind of video and realize I do it the right way 😅
@robertolanzone
@robertolanzone 2 жыл бұрын
Same lol this was a pleasing confidence boost for once 😂
@jetmartin9501
@jetmartin9501 2 жыл бұрын
Great video as usual. Is there any reason you are using an uncontrolled form? Facebook recommends use of controlled forms instead of uncontrolled forms. Just curious?
@whatsapp176
@whatsapp176 2 жыл бұрын
Helpline 📲📩⬆️ Questions can come in⬆️
@andretura01
@andretura01 2 жыл бұрын
Thanks for the video!
@alimousavi2763
@alimousavi2763 Жыл бұрын
Best tutorial for search bar thanks❤
@osamahussam4351
@osamahussam4351 2 жыл бұрын
thanks a lot ! We need another video for node js developers
@whatsapp176
@whatsapp176 2 жыл бұрын
Helpline 📲📩⬆️ Questions can come in⬆️
@arielspalter7425
@arielspalter7425 2 жыл бұрын
Fantastic tutorials. Thanks!
@m12652
@m12652 2 жыл бұрын
Great stuff… maybe do a comparison between how you do this in React and how you’d do it in Svelte. In svelte, in the markup, you could simply add a condition to a loop that already exists.
@whatsapp176
@whatsapp176 2 жыл бұрын
Helpline 📲📩⬆️ Questions can come in⬆️
@nwaguchima2280
@nwaguchima2280 2 жыл бұрын
Thank you so much, Kyle, your contents are always excellent, I have learnt so much and am grateful. I am curious though, instead of using a useMemo, why not just have a use effect that filters the items, with items and queries in the dependency array, I think the question is, which is better? because useMemo sure comes with a cost.
@fabienbroquard7690
@fabienbroquard7690 2 жыл бұрын
useMemo is like a useState with dependencies automaticly triggering it. If you useEffect, you'd need to create a new useState to save the filtered items (if you modify a const of an array set in code it won't work because useEffect runs after the render, it wouldn't render the updated const array).. thus with useEffect/useState, 2 re-renders: one setQuery/setItems changes -> triggers -> useEffect -> triggers -> setFilteredList (which by setting a new state triggers a re-render a second time to display the updated filteredList state). Using useMemo will do the same in only one re-render, because it sets the 'returned state of useMemo' before rendering, not after. useEffect runs after the component has re-rendered.
@grantdoyle1259
@grantdoyle1259 2 жыл бұрын
Hey Kyle could you do a video on the new react update that has changes to async await with promises?
@CottidaeSEA
@CottidaeSEA 2 жыл бұрын
The inputRef is also unnecessary. If you name the form inputs you'll be able to access them straight through the event.target, which will be our form in the SubmitEvent. For example, if the input is named searchInput, we can access the DOM element by using event.target.searchInput.
@brandonlange2260
@brandonlange2260 2 жыл бұрын
Hey Kyle great video as always, you could possibly show how to do this with async data too.
@whatsapp176
@whatsapp176 2 жыл бұрын
Helpline 📲📩⬆️ Questions can come in⬆️
@hafizhzulian_
@hafizhzulian_ 2 жыл бұрын
Nice explanation please make a video about edit data in select component
@tomasburian6550
@tomasburian6550 9 ай бұрын
The big problem here is that you're constantly iterating through an array for each change you make. In the real world, you're getting data from a backend upon request, so it's much more effective to just type your query and then make the request for the data so you only receive what you asked for instead of working with large chunks on FE.
@codenamegrant
@codenamegrant 2 жыл бұрын
What are your thoughts on using Vite instead of CRA, I find it so much faster to install and run
@whatsapp176
@whatsapp176 2 жыл бұрын
Helpline 📲📩⬆️ Questions can come in⬆️
@taylora.buckner5970
@taylora.buckner5970 2 жыл бұрын
I love the amount of effort you put into your videos; thanks for doing so much for the community. My only critique is I've noticed a trend of relatively lengthy videos (>10 min), that probably could be shortened. Take that for what you will, I still love your content. I have a feeling that shorter content will become more popular :)
@michaelirwin7258
@michaelirwin7258 2 жыл бұрын
I've been learning react for about a year now. I've just now gotten my first large scale app 99.9% done. I sure wish I had known about useRef 6 months ago :(
@lescobrandon2202
@lescobrandon2202 2 жыл бұрын
Good stuff!
@instantrecaps1764
@instantrecaps1764 2 жыл бұрын
Hello, i am a huge fan of yours. Been watching your informative videos for over a year now. And man i have got to tell you that you are awesome. I have a question for you if you can answer : i have got a job recently, it's my very first job. how can i leverage the opportunity so that i can grow? I am learning React now and will work on the frontend
@changbogo23
@changbogo23 2 жыл бұрын
Thank you a lot . Good stuff
@alibinnaseer
@alibinnaseer Жыл бұрын
Do more if these please!
@sambhavjain1104
@sambhavjain1104 2 жыл бұрын
Hey kyle, can we not directly nest the filter function just before mapping the list, is it a bad approach? I’m doing this since 1 year in my company’s project 😅
@adtc
@adtc Жыл бұрын
Instead of typing `return` you could just remove the curly braces, since arrow function without curly brace will just return the value automatically. (Of course, when you define an object with curly braces to return automatically, you need to wrap it with parentheses.)
@jotaroisdarius1918
@jotaroisdarius1918 Жыл бұрын
he knows, it's just more readable that way
@keremardicli4013
@keremardicli4013 2 жыл бұрын
I hardly can think of use cases for such iten lists. If you do not store them in a database, what good will they do to you?
@whatsapp176
@whatsapp176 2 жыл бұрын
Helpline 📲📩⬆️ Questions can come in⬆️
@abdurrahmanm.el-sayed5561
@abdurrahmanm.el-sayed5561 Жыл бұрын
thank you bro, you're awesome!!!!
@XxGgunJIZZxX
@XxGgunJIZZxX 2 жыл бұрын
My question is, with the final solution you are looping over the items array once and the filteredItems array once as well. Why not just do the filtering directly in the render? useState forces the component to render when the value changes, so if you do {items.map( (item) => (!!query ? item.toLowerCase().includes(query) : true) && ( {item} ) )} That way you only loop the array once
@timr6235
@timr6235 2 жыл бұрын
Map is supposed to NOT change the array length. But u could do reduce() here to save one loop - so u could combine filter and map.
@timr6235
@timr6235 2 жыл бұрын
Reduce can be harder to read, if the 2 loops become a speed concern, u might wanna think of filtering in the backend anyways and not hold that big lists in your local state.
@willyhorizont8672
@willyhorizont8672 2 жыл бұрын
Correct me if I am wrong. That "items" inside useMemo deps is an array so its render everytime no?
@robertcarsten3127
@robertcarsten3127 2 жыл бұрын
Because state isn't recreated on each render putting items in a dep array is perfectly fine ( and really the most elegant solution)
@jasmeetsingh3557
@jasmeetsingh3557 2 жыл бұрын
Hey Kyle, Have you ever considered trying a different language/framework? I would love to see some diversity on Django, Ruby, Go or even some other javascript framework like Next. Just curious to know why you haven't tried these.. I think you can make great content and more often getting the learning on a different technology from the same yt channel will only increase your visibility and reach to other people
@vapeurdepisse
@vapeurdepisse 2 жыл бұрын
Next is going to be the same as React. I guess he's targeting the most used tech (React) because he's only one. Also he is JS oriented. The other stacks you're mentioning are not widely used. He might as well do Blazor tutorials before any other non-JS tutos.
@Wintersun83
@Wintersun83 2 жыл бұрын
Why does he not need the function version anymore at 8:00 ? Why was it needed at all?
@robertcarsten3127
@robertcarsten3127 2 жыл бұрын
So in this particular situation the function version was used to get the previous value of the items state variable and then a filter was performed in that function. If your new value of a state is being derived from the previous value of that state you should always use the function version to pipe in the value instead of accessing it directly. so do this setCount(prevCount => prevCount + 1) and not this setCount(count + 1) and once he had removed the filtering function to it's own slice of state he no longer needed to access the previous version of the items state inside its own setState function so just using the state variable was fine
@noelanthonyrdiaz143
@noelanthonyrdiaz143 2 жыл бұрын
more tutorial pls 😊 well explained ♥️
@marvelBoy1909
@marvelBoy1909 2 жыл бұрын
applauds for ur work 👏
@kDev7659
@kDev7659 Жыл бұрын
Hi Kyle, do you mentor those who purchase your courses if they have problems or questions? Like a discord group or something? Love the way you take your lessons but I would really love to have some mentoring as well while I learn React. Thanks
@kakun7238
@kakun7238 Жыл бұрын
Really informative video also I have a question is it good to just a const like filteredItems because I have also seen people saying let react handle the state so would it be fine to keep the filteredItems inside a useState Sorry my English is not that good
@DannyCallaghan
@DannyCallaghan 2 жыл бұрын
Kyle - the NextJS community needs Web Dev Simplified videos. If there was a Kyle type Bat-signal, it would be shining in the sky, right now. Will you answer?
@whatsapp176
@whatsapp176 2 жыл бұрын
Helpline 📲📩⬆️ Questions can come in⬆️
@303pix
@303pix 2 жыл бұрын
Great! but about guitar shredding solo lessons?
@whatsapp176
@whatsapp176 2 жыл бұрын
Helpline 📲📩⬆️ Questions can come in⬆️
@akshaylokray
@akshaylokray 2 жыл бұрын
@Kyle why did we not wrap the search input inside a form?
@whatsapp176
@whatsapp176 2 жыл бұрын
Helpline 📲📩⬆️ Questions can come in⬆️
@Ram-sc6or
@Ram-sc6or Жыл бұрын
Helpful, thanks
@amannan-123
@amannan-123 2 жыл бұрын
Thanks for this helpful video but I have a habit to burden the server so I pass search params in API request and get searching done on server-side. :)
@whatsapp176
@whatsapp176 2 жыл бұрын
Helpline 📲📩⬆️ Questions can come in⬆️
@sayantandas7544
@sayantandas7544 2 жыл бұрын
Such a good tutorial!
@hanesmitter1469
@hanesmitter1469 2 жыл бұрын
Do a video how one can also do search from data stored in the backend
@whatsapp176
@whatsapp176 2 жыл бұрын
Helpline 📲📩⬆️ Questions can come in⬆️
@zhivkoshopov780
@zhivkoshopov780 2 жыл бұрын
Hi Kyle. Is your Frontend Roadmap up to date? Should I follow it?
@whatsapp176
@whatsapp176 2 жыл бұрын
Helpline 📲📩⬆️ Questions can come in⬆️
@emirhanpakyardm9142
@emirhanpakyardm9142 2 жыл бұрын
4:05 what if we have multiple inputs and we want to get their values with using just one function?
@cristianograndi1834
@cristianograndi1834 2 жыл бұрын
You can use one useRef for each input field
@emirhanpakyardm9142
@emirhanpakyardm9142 2 жыл бұрын
@@cristianograndi1834 so i should define 3 distinct useRefs and use them individually? That would probably work but is there any more efficient way? The thing i want to do is reset my all input fields when i press form's submit button
@cristianograndi1834
@cristianograndi1834 2 жыл бұрын
@@emirhanpakyardm9142 You can create an useState that holds an object with the 3 values you want, and when you need to reset all of them you just set the state to an empty object. But that means every time you change one property of the object all 3 inputs would rerender.
@emirhanpakyardm9142
@emirhanpakyardm9142 2 жыл бұрын
@@cristianograndi1834 oh okay that makes sense. Thank you
@robertcarsten3127
@robertcarsten3127 2 жыл бұрын
@@emirhanpakyardm9142 "more efficient" is debatable but you could always just use a for loop for(let i =0; i { event.target.reset() }
@ДаниялКожакметов
@ДаниялКожакметов 2 жыл бұрын
базар жок Кайли!Ырзамын гой
@kirarevcrow
@kirarevcrow 2 жыл бұрын
Still better have a query request to receive the filtered list from a server and not doing it from the front, it can be very costly in terms of performance when the list is long.
@whatsapp176
@whatsapp176 2 жыл бұрын
Helpline 📲📩⬆️ Questions can come in⬆️
@albirtarsha5370
@albirtarsha5370 Жыл бұрын
Super content!
@bahibrahim101
@bahibrahim101 2 жыл бұрын
Buddy u r the best!
@alanhf
@alanhf 2 жыл бұрын
Very helpful as always... One quick question for anyone who could answer: Is it best practice, mandatory or irrelevant split your "fetch code" from your rendering component?! Thanks!!!
@whatsapp176
@whatsapp176 2 жыл бұрын
Helpline 📲📩⬆️ Questions can come in⬆️
@davidmartensson273
@davidmartensson273 2 жыл бұрын
I would say yes. By separating them you can extend them independently like adding caching, retries or multiple sources without touching the rendering component OR switch rendering or render in more than one place or ... there are so many possible reasons you would want to do it :) And when you do, you also might want to separate out state from the actual display components, but that is a bit more nuanced.
@lucienchu9649
@lucienchu9649 2 жыл бұрын
Pretty informative, thx
@singmantkpss
@singmantkpss 2 жыл бұрын
like the one react beta doc example
@mayankjain-901
@mayankjain-901 8 ай бұрын
How is the approach for adding a bool variable like visible to display filtered content or not .
@DisturbedNeo
@DisturbedNeo Жыл бұрын
Another bug with the second naive approach is that if you add a new item, because you're calling "setFilteredItems", the new item will be added to your list even if you have a search term that filters it out. So if your search bar had "on", but you added "three", your list would become "one, three" until you modified the search query again, at which point it would get filtered out correctly.
@NikeshKumar-lt5pz
@NikeshKumar-lt5pz 2 жыл бұрын
Thanks a lot
@yetissezgin
@yetissezgin 2 жыл бұрын
I handle this problem by storing the state of the items in an object in the list. When something is typed, i change the state of the object of the item, it is shown or not.
@lilililliilil
@lilililliilil 2 жыл бұрын
GREAT GREAT VIDEO!❤
@LazarethPrime
@LazarethPrime 2 жыл бұрын
Currently learning React, so apologies if there's something I'm not catching about how useMemo works, but wouldn't this end up using much more memory than just "duplicating" the state, especially if it fires off for every letter typed? Isn't this just hiding that under an abstraction effectively making it harder to reason about if there ever is an issue?
@LazarethPrime
@LazarethPrime 2 жыл бұрын
Answer to myself: okay so useMemo is about persisting results through rerenders when their dependencies haven't changed, so there won't be an unknown size of growing cache of previous calculations, just a persistence of the last one to avoid recalc on every render. It's effectively useState with some magic on top to abstract it away as derived state. Learning by asking, and then looking it up 😅
This One Line Of Code Catches React Bugs For You
15:55
Web Dev Simplified
Рет қаралды 61 М.
3 Beginner React Mistakes That Can Ruin Your App
20:19
Web Dev Simplified
Рет қаралды 108 М.
"Идеальное" преступление
0:39
Кик Брейнс
Рет қаралды 1,4 МЛН
I Sent a Subscriber to Disneyland
0:27
MrBeast
Рет қаралды 104 МЛН
Вопрос Ребром - Джиган
43:52
Gazgolder
Рет қаралды 3,8 МЛН
Search Filter in React JS - Filter Through Results
8:53
Code Commerce
Рет қаралды 169 М.
3 React Mistakes, 1 App Killer
14:00
Jack Herrington
Рет қаралды 116 М.
This New React Hook Breaks All The Rules And I Love It
7:56
Web Dev Simplified
Рет қаралды 187 М.
Stop Using Pixels For Media Queries
18:48
Web Dev Simplified
Рет қаралды 59 М.
6 State Mistakes Every Junior React Developer Makes
15:53
Lama Dev
Рет қаралды 270 М.
Why Signals Are Better Than React Hooks
16:30
Web Dev Simplified
Рет қаралды 499 М.
This is the Only Right Way to Write React clean-code - SOLID
18:23
The Biggest Mistake Intermediate React Developers Make
18:32
Cosden Solutions
Рет қаралды 53 М.
How to Improve Performance in React with Code Splitting
9:55
PedroTech
Рет қаралды 214 М.
"Идеальное" преступление
0:39
Кик Брейнс
Рет қаралды 1,4 МЛН