I Waited 3 Years For This Router. It STILL Blew My Mind.

Поделиться
HTML-код
  • Опубликовано: 3 янв 2024
  • Man, Tanstack router is dope. Hyped for Tanner and everyone else who contributed. Can't wait to see where things go.
    ANNOUNCEMENT VID: / 1738709130213560497
    Docs: tanstack.com/router/v1
    Keywords REACT ROUTER TANSTACK REACT LOCATION REACT QUERY ROUTING URLS SEARCH PARAMS QUERY PARAMS LINKS
    Check out my Twitch, Twitter, Discord more at t3.gg
    S/O Ph4se0n3 for the awesome edit 🙏
  • НаукаНаука

Комментарии • 170

  • @alvesvaren
    @alvesvaren 5 месяцев назад +143

    Tanner is insane. I've used the alpha a lot of this project and found 3 bugs, all have been fixed within 12 hours from me reporting it :)

  • @jhondellandal560
    @jhondellandal560 5 месяцев назад +160

    This Tanner guy is literally Godsent for devs like me. 😂
    Thank you, Tanner for building things that makes web development much much more interesting and intuitive.

    • @csy897
      @csy897 5 месяцев назад +9

      yea I think once the store comes up I can ditch redux for 100% tanner experience

    • @kdiffin903
      @kdiffin903 5 месяцев назад

      exactly

    • @JEsterCW
      @JEsterCW 4 месяца назад

      @@csy897 You shouldn't use redux in first place, lmao

  • @gosnooky
    @gosnooky 5 месяцев назад +111

    This looks really cool. Theo always seems to be the first to introduce stuff like this to me, then Jack Herrington does a tutorial - "How cool is that!?"

    • @samuelgunter
      @samuelgunter 5 месяцев назад +47

      then Prime screams about how it's not written in Rust

    • @jatiquep5543
      @jatiquep5543 5 месяцев назад +24

      And Josh tried coding would over hype it 😂😂😂

    • @dennydharmawan4820
      @dennydharmawan4820 5 месяцев назад +28

      then web dev simplified would tell why josh tried coding made a mistake 😂

    • @dealloc
      @dealloc 5 месяцев назад +11

      And then Ben Holmes reimplements it from scratch

    • @bohdanvinter6929
      @bohdanvinter6929 5 месяцев назад +4

      such an incredible thread

  • @QueeeeenZ
    @QueeeeenZ 5 месяцев назад +24

    Vue and Nuxt has had a typed router for a while now.

    • @kearneytaaffe7059
      @kearneytaaffe7059 4 месяца назад +2

      Vue is amazing. It get passed over so much it’s sad

  • @alanhoff89
    @alanhoff89 5 месяцев назад +25

    Bro, (please don't kill me) but I feel like we're just going back and forth between folder spaghetti and code spaghetti.
    For example, I really don't understand how having a different debugging tool for every dependency in my project is a win... It's a freaking router! I don't want to have to debug my router, I just want it to freaking work 😢

  • @amaury_permer
    @amaury_permer 5 месяцев назад +5

    Oh man, I was looking for an angular-like routing for react and then this video pops in my recommendations, this is awesome

  • @KevinVandyTech
    @KevinVandyTech 5 месяцев назад +31

    TanStack Router 1.0 is so good that it feels like a mature 6.0. He really took his time to get it right before shipping it.

  • @jocdiazm
    @jocdiazm 5 месяцев назад +1

    What a great video. After watching the og stream, holly editing Phase. Even changed the BGM of tanner's (cool) lauch promo.

  • @booi_mangang
    @booi_mangang 5 месяцев назад

    the word, tanstack always brings joy to my ears

  • @grimm_gen
    @grimm_gen 5 месяцев назад +13

    React is becoming more and more its's own Rails framework😂🔥

    • @CodingPhase
      @CodingPhase 5 месяцев назад +7

      Yep 😅 the funniest thing is seeing people react to query Params for the first time on twitter like this hasn’t been in web development for over 20 years

  • @ConnorMoody
    @ConnorMoody 5 месяцев назад +14

    I built a router on top of a router to add params and such to the Inertia router because the inertia link really just sucks. And then on top of that, I ABSOLUTELY hated doing breadcrumbs in complex systems where going back to and keeping context is just such a pain - so I simplified it so my links have a "backTo" which just takes a text prop. It stores it in the SPA's state, and then captures the link to the previous page automatically. If one is defined the breadcrumbs just work from wherever the user came from. If none is defined, it uses the breadcrumbs component's pre-defined back link and text. Easy way to solved a really complex problem.

    • @mrdavidrees
      @mrdavidrees 5 месяцев назад

      Underrated comment

    • @andrewjoslin2452
      @andrewjoslin2452 5 месяцев назад

      Tanstack router gives you a useMatches() hook that gives you the array of matched routes by descending hierarchy! Making it pretty easy to build breadcrumbs now :)

  • @JonathanRose24
    @JonathanRose24 5 месяцев назад +4

    Anything tanstack is usually a great choice. Im excited for this!

  • @CodingThingsIRL
    @CodingThingsIRL 5 месяцев назад +2

    imagine being so excited about this

  • @alekseykarpenko2681
    @alekseykarpenko2681 5 месяцев назад +4

    I love how React is catching up to Vue now

  • @helleye311
    @helleye311 5 месяцев назад +1

    I've been waiting for this as well, ever since first hearing about this. Never thought about putting it into next as a [...] route, which is a great idea. I'll play with it at some point for sure.

  • @skapator
    @skapator 5 месяцев назад +1

    This is all amazing stuff!!!! Well at least until v2 where half of it will be presented as wrong and something that had to re-write :)

  • @Eziekel666
    @Eziekel666 5 месяцев назад +1

    There is a package that does this with nextjs named nextjs routes. It override the types of all Link and router methods to be typesafe.

  • @philheathslegalteam
    @philheathslegalteam 5 месяцев назад +2

    With Vinxi now gaining serious traction, I think we’ll see a tanstack router Next alternative very very soon.

  • @noext7001
    @noext7001 5 месяцев назад +6

    so its angular routing

  • @vinayak2450
    @vinayak2450 5 месяцев назад +11

    I have tried it and its very useful.
    Now I dont need to create a CONSTANT map of URLs to type safe the redirect links.

    • @jonkoops
      @jonkoops 5 месяцев назад +5

      100% this pretty much eliminates all the custom crap I had to build on top of React Router to accomplish this.

  • @fnfal113
    @fnfal113 5 месяцев назад

    this is damn good, I better start using this on my pet projects

  • @UwU-dx5hu
    @UwU-dx5hu 5 месяцев назад +2

    Tannet should get a noble price❤

  • @user-gv9tt5un9f
    @user-gv9tt5un9f 5 месяцев назад

    it's So crazy. Thanks to tanner

  • @MoDrazzz
    @MoDrazzz 5 месяцев назад +6

    How about you make a video presenting some features of react aria components? This library is just stunning, we no longer need downhshift and 30+ other libraries for all the types of inputs we use.

  • @cole5981
    @cole5981 5 месяцев назад +10

    This is dope. As much as people love to hate on codegen, I would die on the codegen hill. I've written a custom file-based type-safe router with Zod, Cloudflare Workers, and a boatload of generics. You could not pay me to do it again.
    I don't think the issue lies within the "TypeScript sees everything as a system" concept; it's trivial to overwrite types for a certain file route (if you're doing some form of file-based routing, custom or not). I think the issue likes within "who is going to write these types?" and DX. Codegen solves both of those issues. I'd love to find something like TanStack router that could be used in more generic JS projects.

    • @dealloc
      @dealloc 5 месяцев назад +3

      I think the major downside of codegen is not the code generation itself, it's that each tool provides their own codegen rather than having some standard way to do it; like with LSP. Would be cool if you only had to install a single tool/plugin that every package can interface with to provide consistent experience in editor and CI, and provide immediate feedback.

    • @lukasmolcic5143
      @lukasmolcic5143 5 месяцев назад

      This year I started using Orval to generate all the types and all the Tanstack Query services to work with my api, its so good, its ridicules, codegen is a perfectly legitimate tool for some use cases.

  • @danieljanjanocha7178
    @danieljanjanocha7178 5 месяцев назад +1

    Do you think it could be added to create-t3-app as optional part?

  • @flammea_
    @flammea_ 5 месяцев назад

    I really don't like file system based routing for server components so this is very promising for me

  • @filipmajetic1174
    @filipmajetic1174 5 месяцев назад +1

    "or, god forbid, an admin panel" 😂

  • @ninjazhu
    @ninjazhu 3 месяца назад

    RapidOS uses internal URL as well as its core system libraries and classes, URLs can of course have parameters and it has the ability to use JSON or normal URL parameters somewhat interchangeable, if you want to call it routing you can, but I would call it dynamically loading and calling the constructor of a component...which is file based, but there is nothing to stop you using the same file for multiple purposes if you want. One of our goals was to ensure minimum memory usage on the client and server because some android devices at the time only had 256mb RAM and that can host the server for up to 20 users with good performance, of course there is a client on such a server also. The biggest issue with React is that it doesn't allow dependency injection or mocking of itself, so if you want to replace react easily, you are screwed.

  • @CodingPhase
    @CodingPhase 5 месяцев назад +1

    Seems cool I just wish people would stop doing file based routing I hated having files or folders named [id]

  • @jackson159
    @jackson159 5 месяцев назад

    Works this with next js good ?😊

  • @yousafsabir7
    @yousafsabir7 5 месяцев назад +2

    Now I wanna know if we still need Nextjs or not?

  • @TheJobCompany
    @TheJobCompany 5 месяцев назад +1

    I'd actually want to hear the rant about query params 😭

  • @dwolrdcojp
    @dwolrdcojp 5 месяцев назад

    I LOVE LOVE LOVE tanstack table. We're using it for multiple purposes on our application. We have a pretty complex dashboard that is using searchParams from next based on all kinds of different filter drop downs. I would love to see you do a video on what you mentioned, implementing tanstack router in a next.js application for at least the complex dashboard use case. Thanks for doing a video on this.

  • @Ivan-Bagrintsev
    @Ivan-Bagrintsev 5 месяцев назад +10

    You look like an iPhone user who's happy about that cool new iOS feature (that existed in android since the beginning of time). I believe Nuxt (Vue-based framework) has had typed router (and more of these features) for a couple of years now

    • @twitchizle
      @twitchizle 5 месяцев назад +5

      Hes aint a dev anymore, just an influencer.

  • @NoahSteckley
    @NoahSteckley 5 месяцев назад

    I tried to hook this up at a slug within a nextJS project, and find a way to automatically look through links, without the autocomplete breaking. It did not go well

  • @knoraziel
    @knoraziel 3 месяца назад

    Tanstack Framework coming soon 👀

  • @jak3legacy
    @jak3legacy 5 месяцев назад +3

    Starting to feel like we're only a few steps away from the TanStack ***FRAMEWORK***

    • @dimava3717
      @dimava3717 5 месяцев назад

      Hopefully, in some years we'll be able to build on TanStack

  • @J1Jordy
    @J1Jordy 5 месяцев назад

    Having used Django a lot, this feels fairly familiar

  • @GU0TEA1031
    @GU0TEA1031 5 месяцев назад

    Can you introduce how to use tanstack router with i18n for multiple languages for website

  • @Zagoorland
    @Zagoorland 5 месяцев назад

    This can also work with NextJS?

  • @filipelinharesplus
    @filipelinharesplus 5 месяцев назад +1

    i cant wait to replace my router lib again

  • @GekoPoiss
    @GekoPoiss 5 месяцев назад +4

    Haskell has had typesafe routers for a decade or more - glad to see it's catching on in other ecosystems too!

    • @kenonet
      @kenonet 5 месяцев назад +1

      Hahahah😂

  • @agent_ly
    @agent_ly 5 месяцев назад +3

    You should do an example of what you were talking about with interoping next and tanstack

  • @_modiX
    @_modiX 5 месяцев назад

    Can you use it in React Native?

  • @jamesyeoman794
    @jamesyeoman794 5 месяцев назад +1

    I've been wanting to know what the browser you use is for a while but I haven't seen you mention it in any videos (I could have ended up missing you casually mentioning it in a video but I _have_ tried to find it). Could you add an entry on your website's FAQ page with what browser you're using? If it's chromium-based, I'll still probably not use it, but I have friends that I think would love the UI/UX of that browser. I've also seen someone else ask about the browser in the comments here, so it's not just me who wants to know lol

    • @murtadha96
      @murtadha96 5 месяцев назад

      It's called Arc. It's currently Mac only but they are just releasing a Windows version this year.

    • @DavidMulderOne
      @DavidMulderOne 5 месяцев назад

      Arc browser from the Browser Company AFAIK, just on Mac. Definitely chromium based. They want to redesign what a browser means. Main thing they do is close your tabs unless you proactively mark them as 'should not discard'. Really want to try it out once it releases on other platform. Doubt I will actually end up using it, but trying it sounds nice. (As for just vertical tabs by themselves, out of the major browsers you can just right click on your tab bar in Edge to turn them on).

  • @zenpool
    @zenpool 5 месяцев назад +1

    so we're back to doing SPAs now? 😆/s

  • @stancobridge
    @stancobridge 5 месяцев назад

    Can this work together with NextJS

  • @rodgetech
    @rodgetech 5 месяцев назад

    hmm very nice

  • @camilo5821
    @camilo5821 5 месяцев назад

    tanner is a reptiloide 😆. is my god

  • @WeareBalceris
    @WeareBalceris 4 месяца назад

    trying to implement it. stuck on the part where i need to make two modals (as routes) into children of the index component (the "/" route). code-based case is alright, i can do it. but the file-based - have no clue. in react-router its just nesting, but the file thing is not so clear.
    if somebody somehow has the answer - i would appreciate some help, thanks

  • @avinashdubey6503
    @avinashdubey6503 5 месяцев назад

    I know this is a stupid question but can i use this in React-Native for mobile apps?

    • @t3dotgg
      @t3dotgg  5 месяцев назад

      Not a dumb question at all! At the moment, it's very tied to the url and browser specific behaviors, but I could see React Native compatibility through adapters in the future

    • @bohdanvinter6929
      @bohdanvinter6929 5 месяцев назад

      "Memory Routing" in TanStack Router docs looks promising: "Memory routing is useful in environments that are not a browser or when you do not want components to interact with the URL"

  • @craigasketch
    @craigasketch 5 месяцев назад +2

    It's like React is turning into Angular.

    • @trentbosnic
      @trentbosnic 5 месяцев назад +2

      Except react isn’t a pile of shit

    • @vutruong4164
      @vutruong4164 5 месяцев назад

      yeah, it is actually quite interesting to see that Angular router already has many of the same patterns being shown in this video. Still amazing work by Tanner, and there are things that Angular router can adopt like Suspense/Error boundary, etc

    • @neociber24
      @neociber24 5 месяцев назад

      ​@@vutruong4164 wait, is Angular router now typesafe?

  • @macarthy
    @macarthy 5 месяцев назад +1

    Everyone is just rebuilding rails

  • @Burtannia
    @Burtannia 5 месяцев назад

    But is it BLAZINGLY FAST?

  • @StabilDEV
    @StabilDEV 3 месяца назад

    Can it be used without codegen?

  • @realdiegor
    @realdiegor 2 месяца назад

    I'm not sure about this at all. What if react router goes fully type-safe tomorrow because of the competence? Right after we all migrate to tanstack router? That doesn't make sense. There should be a huge overkill set of features that are really important to consider migrating.

  • @robertosaldana7844
    @robertosaldana7844 5 месяцев назад

    sorry, what browser is being used? thank you

  • @okopyl
    @okopyl 4 месяца назад

    Ia it Next.js?

  • @mrleblanc
    @mrleblanc 5 месяцев назад +1

    Nuxt already does this

  • @matthijszondervan7638
    @matthijszondervan7638 5 месяцев назад

    This is my biggest problem with astro that you can make dead links very easy

  • @rtorcato
    @rtorcato 5 месяцев назад

    How does Tanner work on all this stuff and release it for free?

  • @xelspeth
    @xelspeth 5 месяцев назад

    I just want symfony style routing 😔

  • @HBMoulvad
    @HBMoulvad 5 месяцев назад

    React Navigation has typesafe routes with autocompletion :-)

    • @dealloc
      @dealloc 5 месяцев назад

      Yes, but not on the level of TanStack Router. It doesn't have type generation, which means you'll still need to manually define props to your route components. Although, Expo router could solve this with its tooling (and also based on React Navigation)

  • @harbar20
    @harbar20 5 месяцев назад +1

    would love to hear more of your thoughts on remix

  • @raijinhasarrived
    @raijinhasarrived 5 месяцев назад

    Is dat juiciest Javascript drama?

  • @1ACorner
    @1ACorner 5 месяцев назад +5

    lets abstract an already abstracted layer further; great idea.

  • @skeleton_craftGaming
    @skeleton_craftGaming 5 месяцев назад

    I want to learn vue but have been using php so long I when I do come up with a server side project I struggle with not just doing it in php and am bad at dev in general [ i understand that you can't help me with that though] ...

    • @snake608
      @snake608 5 месяцев назад

      I don't see the problem, you can use vue and PHP together; its actually rather easy with laravel!

  • @badalism
    @badalism 5 месяцев назад

    I like generouted.

  • @shafiq_ramli
    @shafiq_ramli 5 месяцев назад +2

    What editor are you using Theo?

  • @MichaelZimmermann
    @MichaelZimmermann 4 месяца назад

    I clicked because I thought this was about a network/internet router 😅

  • @bogdanb904
    @bogdanb904 5 месяцев назад +4

    So ... basically, Angular's router sibling?

  • @Nosleepguy
    @Nosleepguy 5 месяцев назад

    Omg 😨

  • @arthurdias354
    @arthurdias354 5 месяцев назад

    I mean, this is awesome, but just so you know expo has the same link functionality* (route name autocomplete & typesafe params) but for React-Native obviously

  • @thurston04
    @thurston04 5 месяцев назад

    Pretty sure dioxus router has most of this

  • @najlepszyinformatyk1661
    @najlepszyinformatyk1661 5 месяцев назад

    1:08 - you don't know about expo router :)

  • @gro967
    @gro967 5 месяцев назад

    Nuxt has all of this 😅

  • @oursbrun4243
    @oursbrun4243 5 месяцев назад +12

    Ok; watching it makes me feels like angular is really the way to go to build spa apps.

  • @27sosite73
    @27sosite73 5 месяцев назад +1

    first nah 😍😍😍😍😍
    will next.js have it own AI assistant in the future, Theo?

    • @_____case
      @_____case 5 месяцев назад +3

      They arguably do: v0

  • @thatsalot3577
    @thatsalot3577 5 месяцев назад +1

    Wait aren't params and searchparams just strings ?

  • @aarong2374
    @aarong2374 5 месяцев назад

    at 18:44, "examples were ? based" What was said there? Unfamiliar with what he said.

    • @philipstray
      @philipstray 5 месяцев назад +2

      All the examples were Vite based. Next js and Vite are somewhat similar in what they do but Vite works with Astro, Vue and other frameworks in addition to React. It was created by Evan You that also made Vue :)

    • @aarong2374
      @aarong2374 5 месяцев назад

      @@philipstray Thank you so much! Very helpful!

  • @usmansbk
    @usmansbk 5 месяцев назад

    Bruh! You have to be an AI at this point. How do upload everyday

  • @Danielo515
    @Danielo515 5 месяцев назад +1

    File based routing is a toy made to make feel better the dumbest kids in the classroom.

  • @PHPLITHIUM
    @PHPLITHIUM 5 месяцев назад

    Damn Tanner, nice router.... you single? 😉

  • @bhavyajain638
    @bhavyajain638 5 месяцев назад

    I'm a college student and at this point, I'm a pretty good web developer, but i am just using these tools.. i wanna know what it'll take to get there and build such tools? Ten's of years of experience?

  • @alexodan
    @alexodan 5 месяцев назад

    "Since all your route definitions exist as files..."; Remix provides config based routing 🤨am I missing something here?

  • @jamesyeoman794
    @jamesyeoman794 5 месяцев назад

    THAT MODULE DECLARATION FOR THE ROUTER!!!! WHAT!?!?!?! Why does tRPC not use that?!

  • @aizensoskue3880
    @aizensoskue3880 5 месяцев назад

    like what they built a whole new framework

  • @akotochristopher9907
    @akotochristopher9907 5 месяцев назад +1

    good morning Theo

    • @simpingsyndrome
      @simpingsyndrome 5 месяцев назад +2

      It's a friday afternoon LOL

    • @27sosite73
      @27sosite73 5 месяцев назад

      @@simpingsyndrome he is in EU

    • @RockRespawn
      @RockRespawn 5 месяцев назад +5

      ​@@simpingsyndromebro has not heard of timezones

    • @akotochristopher9907
      @akotochristopher9907 5 месяцев назад

      space-time singularity@@simpingsyndrome

    • @akotochristopher9907
      @akotochristopher9907 5 месяцев назад

      🤣🤣🤣🤣@@simpingsyndrome

  • @MrMassaraksh
    @MrMassaraksh 4 месяца назад

    I hate UX with modern routing when page just swaps. Like in vercel website and other react stuff. It is so unfriendly IMHO

  • @jak2k
    @jak2k 5 месяцев назад +1

    Nuxt has something similar… It's just vue better.

  • @alastairtheduke
    @alastairtheduke 5 месяцев назад +1

    The beginning and end of this video were great. The middle felt frantic and I could barely follow.

  • @ShakhorSmith
    @ShakhorSmith 5 месяцев назад

    vc companies get all this money to let a solo developer out do them

  • @MrZombastic
    @MrZombastic 5 месяцев назад

    most average router. Except in frontend dev💀

  • @ConnorMoody
    @ConnorMoody 5 месяцев назад

    Why are you posting videos at ungodly hours

  • @anon_y_mousse
    @anon_y_mousse 4 месяца назад

    I was hoping this would be about a hardware device to route traffic on a network, but I guess a thing for managing projects to ensure links are kept up to date is cool too. Of course, things like this make it even more difficult to get devs to abandon all the old tech to wipe the slate clean and start fresh. If only we could fix the flaws in the current tech without wiping everything away.

  • @rapzid3536
    @rapzid3536 5 месяцев назад

    Remix is where React Router went to die. RIP begging them to add APIs necessary for auto tracing.

  • @MisterConscio
    @MisterConscio 5 месяцев назад +1

    What's is the deal with type-safe router? I have no idea what is this trying to solve.

    • @magne6049
      @magne6049 5 месяцев назад +1

      misspelling route urls and thus broken links

  • @CubicoOriginal
    @CubicoOriginal 5 месяцев назад +1

    Nice copy of Angular routing

  • @meowmix0008
    @meowmix0008 5 месяцев назад +3

    Fifth