The Best React State Management Solution Has Been There All Along

Поділитися
Вставка
  • Опубліковано 22 лип 2024
  • We are all used to using the useState hook to manage state in React. We may even turn to more powerful state management libraries like Redux, but in reality the best state management for UX is most likely just the browser URL. In this video I will explain why that is and how you can easily swap to using the URL for state management.
    📚 Materials/References:
    React Router Tutorial: • Learn React Router v6 ...
    Zod Tutorial: • Learn Zod In 30 Minutes
    🌎 Find Me Here:
    My Blog: blog.webdevsimplified.com
    My Courses: courses.webdevsimplified.com
    Patreon: / webdevsimplified
    Twitter: / devsimplified
    Discord: / discord
    GitHub: github.com/WebDevSimplified
    CodePen: codepen.io/WebDevSimplified
    ⏱️ Timestamps:
    00:00 - Problem
    00:45 - Solution With React Router
    03:51 - What To Watch Out For
    #ReactRouter #WDS #ReactJS

КОМЕНТАРІ • 299

  • @djSeakDigital
    @djSeakDigital 10 місяців тому +257

    We've really come full circle. State belongs in the URL. That's the power of a website. This reminds me of the MVC days.

    • @JayDoge
      @JayDoge 10 місяців тому +19

      Depends on the case. For search parameters yes, it improves UX and the ability to share the page with your filters.

    • @muratcemyalin
      @muratcemyalin 10 місяців тому +19

      thats my response when i first saw SSR.. going back full circle to PHP

    • @jrmc732
      @jrmc732 10 місяців тому +17

      That never changed a part of the state always belonged to the URL, the issue is young people never learned it right in the first place, that's not a framework issue that's a learning issue.

    • @turolretar
      @turolretar 10 місяців тому +1

      All of this exists so that the top developers can earn fat stacks of money. And even those at the bottom can get some crumbs and scraps. It’s utterly pointless to be real, to the point of it being so ridiculous, that the whole point was missed by a mile from the start

    • @omomer3506
      @omomer3506 10 місяців тому +2

      Something something state us stored in the balls.....
      But yeah we have come full circle.
      But just to philospoize for a second, now we know why things were done in a certain way and its benefits
      But more so i keep thinking , are all these techniques just the best it could have ever been given the state of how we use the web and internet,

  • @developer_hadi
    @developer_hadi 10 місяців тому +272

    Server actions, and now this, we're really going back and thinking we're inventing something new

    • @allahrakha1309
      @allahrakha1309 10 місяців тому +25

      For the sake of reactivity in UI , we are going to 90s era.

    • @ScytherDOTA
      @ScytherDOTA 10 місяців тому +29

      My thoughts exactly 10 seconds into video. "iF yoURe uSiNg StaTe uR doiNg iT WrOnGNG XD". cringe

    • @robadobdob
      @robadobdob 10 місяців тому +32

      As a web dev from the 90’s, it’s amusing seeing all these videos acting like they discovered something new.

    • @jfgabriel
      @jfgabriel 10 місяців тому +1

      100% agree.

    • @justpatrick_
      @justpatrick_ 10 місяців тому

      ​@@ScytherDOTAits the goto for react "experts"

  • @TakeOnMe5
    @TakeOnMe5 10 місяців тому +102

    Just note, there are limits for the maximum allowed URL length in the address bar of browsers. This varies vastly between browsers.

    • @risitas5874
      @risitas5874 10 місяців тому +20

      Yes, for this reason it's often better to store this state on a backend and just return a short ID that you append to the URL.

    • @TakeOnMe5
      @TakeOnMe5 10 місяців тому

      @@risitas5874 Not sure if that's often better but at least that would be one way, yes.

    • @nathanmurphy8211
      @nathanmurphy8211 10 місяців тому

      ​@@risitas5874yep, I'm surprised this wasn't mentioned in the video.

    • @MasayaShida
      @MasayaShida 10 місяців тому

      ​@@risitas5874could you give a simple example of that please. Thank u

    • @zakariabougroug2687
      @zakariabougroug2687 10 місяців тому +2

      Or to use a state management tool for unauthorized users

  • @sbsalil
    @sbsalil 10 місяців тому +1

    Thanks for the video. Two days back I want through a detailed tutorial to build a simple Contacts from using the Remix framework; So watching this video I kind of revisited the concept of querystring (search params) approach of saving state.

  • @debanjandey64
    @debanjandey64 10 місяців тому +5

    We recently worked on this a lot of times in the project we are currently working, where we require to implement a filter for a set of records. The values are taken from a form and set to URL, and an useEffect was added for change in search params to call the necessary API. A lot of hassle was required to put the values from the URL back to the form when the page is refreshed.

  • @ozzyfromspace
    @ozzyfromspace 10 місяців тому +4

    Awesome video! I use this technique for all sorts of things, but never thought about the url replace optimization, that's clever. I have a hook (NextJS) that handles this for me, I'm just gonna add url replacement logic. Thanks, Kyle!

  • @MayankMishra-oy5xe
    @MayankMishra-oy5xe 10 місяців тому +52

    A small Feedback:- Your videos are indeed amazing but it would be better if you make videos keeping in mind about production level code and real world programming as this method in the video is only applicable to my "contact us" form. But generally all other forms I have worked on are not simple and doesn't only contain 2-3 text field. The point here I want to make is I like you explanation and that is why I need you to make some intermediate to advance videos about production and real world project programming. Keep going.

    • @isyedaliraza
      @isyedaliraza 10 місяців тому +6

      If he does it the tutorial video will be 10 hours long

    • @MayankMishra-oy5xe
      @MayankMishra-oy5xe 10 місяців тому +8

      @@isyedaliraza I mean like people who are working and have exp. of 2-3 years needs some brief but not very literal videos on real production level programming stuffs as they can watch 20-30 minutes of content each day.

    • @someonewhowantedtobeahero3206
      @someonewhowantedtobeahero3206 10 місяців тому +4

      He publishes those in the form of courses, and you gotta buy them. Quality comes at a price

    • @MayankMishra-oy5xe
      @MayankMishra-oy5xe 10 місяців тому

      @@someonewhowantedtobeahero3206 I know about it but I think you haven't seen the course catalogue or my feedback comment. The courses he sells are for beginners but not for intermediate to advance level.

    • @DryBones111
      @DryBones111 10 місяців тому +2

      @@MayankMishra-oy5xeSurely if you have 2-3 years experience you would know how to translate a concept shown in a simple example to something more complex.

  • @IvanRandomDude
    @IvanRandomDude 10 місяців тому +110

    Great but come on, this is how search pages were made 15-20 years ago during Vanilla PHP era. Query params in url. Sometimes I feel we (on the web) "rediscover" old ways of doing things and pretend we invented something revolutionary.

    • @Andreas_Mann
      @Andreas_Mann 10 місяців тому +8

      Yeah true. And often this is just completetely unneccessary too. React is already a mess without all these bells and whistles. And having the URL update in real time is just a no-no for me.

    • @ItisOsos
      @ItisOsos 10 місяців тому +7

      Same with the "new" server side rendering. Those thoughts are the problem of new developers (including me of course). We don't usually know how things worked before react, angular and vue. So we must be cautious with what we said and listen to the people with many years of experience.

    • @JamesW6179
      @JamesW6179 10 місяців тому +6

      That's why it's "Has Been There All Along".

    • @gosnooky
      @gosnooky 10 місяців тому +9

      Yup. It's like this startup idea someone had about Spotify, but selected playlists playing on "channels", and people were like "Congratulations. You've just invented radio".

    • @developerAKX
      @developerAKX 10 місяців тому

      I have been working in react for 5 years but I am using the URL from the start

  • @adanos2006
    @adanos2006 10 місяців тому +3

    it's not the first time when i working on something and Kyle gives me an advise i need. thanks for help

  • @appuser
    @appuser 10 місяців тому +2

    Converted my project over to this approach last night. It was the solution I didn't even know I needed. Thanks! I need to do some refactoring now as this approach results in some repetitive snippets of code since I have a few panels you can switch between and I want all search terms to be stored in the URL.

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

      yeah I was looking for something like this for filtering.

  • @Nekroido
    @Nekroido 10 місяців тому +1

    I totally forgot about this hook! I recently faced similar dilemma with my custom data table component, but didn't have the time to look into it. I already use Zod and React Router, so it's going to be a piece of cake.

  • @guideguts
    @guideguts 10 місяців тому

    thank you for simplifying the web for me, now I can start building my dream project

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

    Thanks! It is useful in Next.js server components when you need some state but don't want "use client"

  • @mariokrstevski8836
    @mariokrstevski8836 10 місяців тому +20

    Did you copy this from the other youtuber?

    • @MsVsmaster
      @MsVsmaster 10 місяців тому +1

      I thought the same, the other guy showed exactly the same but with a better UI.

    • @nikilragav
      @nikilragav 10 місяців тому +1

      Who's the other guy

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

    I'm happy to see all the hype search params is getting!

  • @hmswrth
    @hmswrth 10 місяців тому

    I just recently implemented this on one of the projects. Quite useful!

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

    Great Vid! Short and straight to the point

  • @buddy.abc123
    @buddy.abc123 10 місяців тому +2

    I love it when we keep going in circles

  • @stevelai69
    @stevelai69 10 місяців тому

    Thanks for your video, and make me think more about usage about it.

  • @sugo8920
    @sugo8920 10 місяців тому

    very nice, i'll def use this for my projects

  • @subhamaydatta2413
    @subhamaydatta2413 10 місяців тому +2

    Great topic to explore!

  • @stoggys
    @stoggys 10 місяців тому

    Great short video! Cheers!

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

    Awesome explanation 🙏

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

    youtube url has an encoded query param, how does it work? Is it handled in FE or BE to encode/decode it?

  • @motoboy6666
    @motoboy6666 10 місяців тому

    Nice, simple and clear sir

  • @akasharora4944
    @akasharora4944 10 місяців тому

    Loved the approach thank you:)

  • @Raubritterr222
    @Raubritterr222 10 місяців тому

    I've never seen the `prev.get("propertyname")` in JavaScript. is it a new method? or is it a custom one? or did I miss it?

  • @piyushaggarwal5207
    @piyushaggarwal5207 10 місяців тому

    i learnt a lot of these things by watching other sites like Jira work and learnt the hard way. I am thinking it is good to watch some tutorials as well. That replace: true was a new use case for me. Never took care of that.

  • @dfshoikot5904
    @dfshoikot5904 10 місяців тому

    great work bro. learned a new thing

  • @hongz1
    @hongz1 10 місяців тому

    How to implement with NextJS app router? putting router.replace in onChange makes slow...

  • @leojacquemin1836
    @leojacquemin1836 7 місяців тому +1

    This is actually very true. URL-driven applications are just how web was meant to be from the start and SPA fucked that up pretty bad.

  • @golden_smiles
    @golden_smiles 10 місяців тому +39

    Brilliant idea, use it on tax forms, credit card payments and login screens.

    • @ajfalo-fi3721
      @ajfalo-fi3721 10 місяців тому +2

      Can't wait 😍😍

    • @spythere
      @spythere 10 місяців тому +7

      As it was mentioned, it's for FILTERING DATA, not for AUTH.

    • @golden_smiles
      @golden_smiles 10 місяців тому

      @@spythere So, I can't use it on ANY FORM, only on FILTERS THE DATA?! That sucks.

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

    Awesome video!

  • @josprimasihombing9902
    @josprimasihombing9902 10 місяців тому

    Thankyou, great explanation.

  • @haliszekeriyaozkok4851
    @haliszekeriyaozkok4851 9 місяців тому +1

    it's funny to write that because managing states with query parameters is the most oldest way to do it and until front-end frameworks everyone makes it with that way. This is a confession for how front-end frameworks sucks i guess.

  • @nfaical3
    @nfaical3 10 місяців тому

    Thanks, this is really a good idea 👍

  • @fernandafortes3782
    @fernandafortes3782 3 дні тому

    what can i do to make a research on search box to redirect to resul page ?

  • @alexanderhergert875
    @alexanderhergert875 10 місяців тому

    cool, will use that in the current project ;)

  • @dantemuniztorres6691
    @dantemuniztorres6691 Місяць тому

    Que buenos videos chabón!!!❤

  • @electricindro2236
    @electricindro2236 10 місяців тому

    Great concept!

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

    Anyone know what the .get() method is. Isnt that from a map? Here it is with an object?

  • @ukaszborkowski1073
    @ukaszborkowski1073 10 місяців тому +1

    I knew about this hook before, but I hesitated to use it anyhow. Now as I see and understand, how this approach spices my page up. There is nothing left for me than to sit infront of my PC and to make some changes in my code.

  • @ankanroy2
    @ankanroy2 10 місяців тому +16

    Bytegrad yt channel uploaded a video on the same topic a few days ago yeah it's good to use the query parameter he shows some more cool techniques with Nextjs btw nice video

    • @personzen8028
      @personzen8028 10 місяців тому +5

      That's what i noticed too

    • @TariqSajid
      @TariqSajid 10 місяців тому

      i was thinking the same someone already a made video on this topic

    • @vittoopugliese
      @vittoopugliese 10 місяців тому +1

      this is not the first time he upload the same topic after Bytegrad LOL

    • @kale_bhai
      @kale_bhai 10 місяців тому +2

      Content leech

  • @SoreBrain
    @SoreBrain 10 місяців тому +10

    I wish I would have known how important it is to not have possibly diverging states between backend-react-html without the mistakes that made me come to this company is conclusion myself. Search params are a nice way to reduce state complexity.

    • @dzienisz
      @dzienisz 10 місяців тому

      how it's better that useState?

    • @DryBones111
      @DryBones111 10 місяців тому

      If you send HTML to the client then you don't have to worry about this problem at all.

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

    does this rerender everything? or just related components?

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

    can any one say what is the nextjs router equivalent for {replace: true} in setSearchParams?

  • @petarkolev6928
    @petarkolev6928 10 місяців тому

    Amazing video!

  • @Thassalocracy
    @Thassalocracy 10 місяців тому +14

    Videos like this are a good reminder why PHP never dies to this day. Maybe they got it right all along - use URL as state, use sessions not JWT, use MySQL for DBs (there's Strapi in the React world for that). 😂
    Anyway, thanks Kyle for this video. I still think it's quite informative for those who've never been into PHP.

    • @karlstein9572
      @karlstein9572 10 місяців тому +5

      You seem to not understand the difference between JWT and session, first one can be used cross domain, the other cannot... Also all the state cannot and should not be stored in the URL, just what you need like filters. About the database choice, it always depend on what you need and what you can afford, it's not just "use X DB", also PostgreSQL is a more advanced DB and free like MySQL/MariaDB.

    • @Thassalocracy
      @Thassalocracy 10 місяців тому

      Oops, somebody doesn't know tongue in cheek when he sees it... 😛

    • @karlstein9572
      @karlstein9572 10 місяців тому +2

      @@Thassalocracy Apologies if your comment was ironic, it is not really obvious.

  • @samarscript5824
    @samarscript5824 10 місяців тому

    Can you please provide the git hub link for the same?

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

    What keyboard and switches do you use?

  • @emmanuelameyaw5686
    @emmanuelameyaw5686 10 місяців тому

    Man, thanks for sharing!!

  • @denispepper2830
    @denispepper2830 10 місяців тому

    Thanks! Very nice!

  • @zunnoorainrafi5985
    @zunnoorainrafi5985 10 місяців тому

    Hi Kyle!
    how we can add multiple search params in url like " products?category=shirts&color=red&size=lg "

    • @debanjandey64
      @debanjandey64 10 місяців тому

      You have to destructure the current search param object and then add attributes

  • @Jackchoco
    @Jackchoco 10 місяців тому

    daxx, although i'm a backend developer only, but i know this is soso useful

  • @ertyuiopos3942
    @ertyuiopos3942 10 місяців тому +1

    Why state should belong to the url? I could simply create a FilterProvider and it will work fine. Why url though?

  • @neilmerchant2796
    @neilmerchant2796 10 місяців тому +7

    Interesting, ByteGrad just put out a video on this a few days ago. coincidental timing, or a query prams just making a comeback right now? or another reason maybe 🤔

    • @ajfalo-fi3721
      @ajfalo-fi3721 10 місяців тому +7

      Everyone is a copycat and they're looking for views

    • @neilmerchant2796
      @neilmerchant2796 10 місяців тому

      @@ajfalo-fi3721 I don't want to make any assumptions and I am a big fan of WDS. and I will grant that query params are a useful tool, just strange to see it framed in this specific way Rrght after another up and coming web dev UA-camr has done the same.

  • @thelaitas
    @thelaitas 10 місяців тому

    I'd like to see how y'all approach this problem when you gotta load select dropdown with i18n, everytime I had to implement something like this, it looked ugly lol

  • @dank56
    @dank56 10 місяців тому

    Are you using a BrowserRouter? Surely there’s a lot more to it in prod as you can’t just refresh / paste in the url and get the router to take you back to the correct route? (404 scenario) Would you handle state on your server? Or use a HashRouter?

  • @aravind.a
    @aravind.a 4 місяці тому

    Good insight.. btw http should be stateless right?

  • @luiswebdev8292
    @luiswebdev8292 10 місяців тому

    holy shit. WHy is this something I learned only now

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

    how to clear q= when input is empty?

  • @sithikr1193
    @sithikr1193 10 місяців тому

    It would be really great if you can teach us how to make our own rich text editor as a notion editor (example Editor.js).

  • @hardwired89
    @hardwired89 10 місяців тому

    Thank you, more trick about react router v6 woahh

  • @MubashirullahD
    @MubashirullahD 10 місяців тому +4

    Exactly the relevant stuff. This is premium content.

    • @MubashirullahD
      @MubashirullahD 10 місяців тому +1

      @@roodood I was building a SAAS aplication and you guessed it, using state to remember what filters applied. Making the url dirty wasnt attracted to me but it seems it was the preferred approach. It might be simple and basic but thats all thats needed. So knowledge thats relevant to work is premium.

  • @webapple1
    @webapple1 10 місяців тому

    some of the comments a bit crazy - remembering that not all of us started/even started learning pre react , I mostly now learned react - no idea about jquery and previous , i had made 1 purely html/js/css project for university but never done a project since in pure html/js/css. this to me sounds like an option but it seems that it has more specific use cases

  • @emadmohamed5787
    @emadmohamed5787 10 місяців тому

    Great thanks

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

    any ideas how to do this in Svelte/SvelteKit?

  • @kaiyojimbo8814
    @kaiyojimbo8814 10 місяців тому +1

    This is a great feature. How would we go about hiding the information displayed in the URL for security purposes?

    • @cultofleda
      @cultofleda 10 місяців тому +1

      Just don't put sensitive information into the URL in the first place

  • @killd0z3r
    @killd0z3r 10 місяців тому

    Wow Homelander started teaching webdev

  • @quizzicalsebag
    @quizzicalsebag 10 місяців тому

    what’s the idea of this if you’re using a “state” like hook. it would be a client component on next too

  • @shivangrathore
    @shivangrathore 10 місяців тому

    Thanks

  • @exkoi
    @exkoi 10 місяців тому +2

    your thumbnail looks very similiar

  • @eslama.hugair1666
    @eslama.hugair1666 10 місяців тому

    What about the url limitations (how complex it can get)?!

  • @avwie132
    @avwie132 10 місяців тому +1

    The React world really is something different. Just wow.

  • @syedhaider0916
    @syedhaider0916 10 місяців тому +3

    With due respect are you sure this can be used as a replacement for state management libraries like redux, jotai, flux etc?

  • @paulsisson8944
    @paulsisson8944 9 місяців тому +1

    I’d love for you to do one of these but the state value be an array instead of a simple string. I’m struggling with how to use this process with more complex data

  • @CottidaeSEA
    @CottidaeSEA 10 місяців тому +2

    I'd only use the URL parameters for filtering purposes personally. I do not believe that state belongs in the URL to a much greater extent than that. There are a few neat things you can do here and there, but keeping all state in the URL is not a good approach.
    Using an identifier is part of filtering, just as a side note, so ?id=abc123 would still valid in this regard. You could have the identifier as a part of the actual URL and not just a parameter, but that's nothing more than an implementation detail.

  • @dev1876
    @dev1876 10 місяців тому

    Do You sill use xstate?

  • @muhammadyusufauliya9770
    @muhammadyusufauliya9770 10 місяців тому

    are we going back to php now?

  • @vcodingdeep
    @vcodingdeep 10 місяців тому

    Nice Brother

  • @avijitbehera2386
    @avijitbehera2386 10 місяців тому

    Is there any way to hide this from URL? Any other methods for doing so?

    • @Laura69
      @Laura69 10 місяців тому

      You would need to use another technique to store that data, like *localStorage* or *indexedDB*.

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

    You haven't mentioned that "set state" function of useSearchParams behaves differently from "set state" function of useState hook when it's called multiple times during the same render cycle

  • @mohammadmahdifarvardin4150
    @mohammadmahdifarvardin4150 10 місяців тому

    Amazing

  • @dianciehake
    @dianciehake 10 місяців тому

    Is there another way to persist states between pages?

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

      redux , contextapi orrr prop drilling kinda

  • @OscarZhang1990
    @OscarZhang1990 10 місяців тому

    what happen if the user messes up the URL?

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

      Nothing really... it would be able to change the checkbox state by the url and the input text value as well... nothing more

  • @_jeff.medeiros
    @_jeff.medeiros 10 місяців тому

    lol i implemented this in my codebase like 3 days ago with zustand, just had to add this replace prop for the same result

  • @NOPE-me7ob
    @NOPE-me7ob 10 місяців тому

    Brother kyle we need your help , please create video for react native and its complex navigations

  • @sadramohh
    @sadramohh 10 місяців тому +1

    Doesn't this introduce a potential XSS vulnerability?
    The string value in the `q` parameter is directly bound to the ``s value attribute.

    • @DobesVandermeer
      @DobesVandermeer 10 місяців тому

      Not really, the value is assigned using JavaScript property assignment so there's no string escaping issue. In SSR the string will be escaped properly. If you ever wrote the URL to the page without proper escaping you might have an issue but that's not dependent on this technique.

    • @karlstein9572
      @karlstein9572 10 місяців тому

      React handles (escape) this automatically when rendering, you can try it yourself.

    • @JohanDG7
      @JohanDG7 10 місяців тому

      There is no two way binding in react :)

  • @lukas.webdev
    @lukas.webdev 10 місяців тому

    Great video + Awesome Solution! 😉🔥

  • @waffle8364
    @waffle8364 10 місяців тому

    next best thing to add is testing.. please show that more since it's like 80%of the job anyway

  • @iamAmeeeeeer
    @iamAmeeeeeer 12 днів тому

    how do i do this in next tho

  • @biraniv
    @biraniv 10 місяців тому

    it's not working with nextJS :/

  • @adambickford8720
    @adambickford8720 10 місяців тому +11

    As usual, context is king; you can't judge this approach without it. CC# and password? Bad idea. Generic product search page? Pretty solid use case.
    Of course, urls have like a 2k limit, can be caught in proxies/routers, require en/decoding, used for phishing attacks, etc. As usual, its all tradeoffs.

    • @gosnooky
      @gosnooky 10 місяців тому

      I think for most viewers of this channel, that first bit is obvious.

    • @dan6erbond
      @dan6erbond 10 місяців тому +5

      ​@@gosnooky you're overestimating the people that watch stuff like this.

  • @rael_gc
    @rael_gc 10 місяців тому

    Killer and short!

  • @kazaakas
    @kazaakas 10 місяців тому

    I just wish browsers handled this better. I often see hundreds of entries in my history, because I typed a couple of words. Of course you can debounce the query update, but it's far from perfect that way.

  • @madsyboy123
    @madsyboy123 10 місяців тому +2

    Atleast give credit to Bytegrad who literally made this exact video a week before you.

  • @MahmoudAbdullahAnani
    @MahmoudAbdullahAnani 10 місяців тому

    this is hook import from react or react-router-dom???

  • @willmakk
    @willmakk 10 місяців тому

    We really are returning to monke.

  • @timd1613
    @timd1613 10 місяців тому +1

    I would add local state and debounce url update for higher responsiveness

    • @DobesVandermeer
      @DobesVandermeer 10 місяців тому

      Have you noticed some kind of slowness with URL updates? They seem pretty fast to me.

  • @krateskim4169
    @krateskim4169 10 місяців тому

    Awesome