You give replies to my questions just before I formulate them! R-N-SCs are fantastic! Thanks a lot for your crystal clear explanations as usual!
@ExpoDevelopers26 минут бұрын
Very nice demo Jack. Thanks for sharing!
@lukemontana979230 минут бұрын
great
@Korosu-ty5irСағат бұрын
awesome
@abannsunny3515Сағат бұрын
How does the publish look like for something like this? Will it be a 2 step publish? How will you coordinate the app store publish and the api publish?
@jherr47 минут бұрын
Gooood question.
@ThomazMartinezСағат бұрын
whos server it sends it from?
@IamYouWeAreEveryoneСағат бұрын
mine
@maddog262257 минут бұрын
No it’s mine
@raddadslab50973 сағат бұрын
Another Portland DEV! Thats so cool! Small world. That conference sounds cool.
@selloramolelle3 сағат бұрын
On the pipeline, nextjs for react native 😅
@mikkelwf19842 сағат бұрын
expo is already there
@selloramolelle2 сағат бұрын
@mikkelwf1984 obviously but that's not the point lol
@yvesrobertcharlesthior3 сағат бұрын
first here lol !😀😀
@yvesrobertcharlesthior46 минут бұрын
following you sir from Dakar in Senegal. and i really apreciate your content. willing to learn more from you.
@funkjoker8 сағат бұрын
Is this kinda PPR from aside?
@kenedyolisi355111 сағат бұрын
For `bg-background` and `bg-foreground`, you can add `--color-background: your-color` and `--color-foreground: your-color` in the @theme { ...}
@hassanallen182312 сағат бұрын
After redux zustand is the only library I use for my state management I love it
@mortezatourani777217 сағат бұрын
Like always enjoy the content.
@GabrielMartinez-ez9ueКүн бұрын
is there a reason react-hook-form or even shadcn which uses it does not recommend this approach?
@Ss-zg3yj2 күн бұрын
Wait, Next doesn't support streaming in server functions???
@ElevateCode2 күн бұрын
Excellent video. Clear explanation, great examples, audio and video are very clear. Thank you so much for putting this together!
@VincentDECAUX2 күн бұрын
Tanstack start is a copy of Remix. But it's nice, I like this approach really. Just hope people will remind that this server approach should be useful, not to just please frontend developers. Full backend API and full front is still the best stack.
@tannerlinsley2 күн бұрын
Sure, some similarities, but every framework will inevitably have similarities on good ideas. I happily used Remix for 2 years because I liked *some* of it a lot. But so much is entirely different both in API design and definitely implementation. TanStack Router and Start were architected and written from the ground up to allow for things that the Remix/RR team were unwilling to collaborate on, including much needed features and design upgrades from the community, some of those coming from me (type-safety, state-management, caching, etc).
@JoeBoo5322 күн бұрын
Hi, are you planing on doing black Friday deal on your next js pro course ? :)
@farooqbroberg93493 күн бұрын
Does this work with MUI instead of shadcn?
@bbqchickenrobot33 күн бұрын
How does this work with search indexing by search engines?
@Its-InderjeetSinghGill3 күн бұрын
Seeing him exited makes me suuuuuper exited, Let's go!
@bythewaybg3 күн бұрын
I can disagree GraphQL is more type-safe than tRPC if we are talking about typescript on both client and the server. tRPC uses the same types you define on the backend, so it should always be type-safe. GraphQL however needs code generation always, so things could go wrong and on top of that, it does not have the concept of null vs undefined, which can also prove to be very problematic in some occasions.
@marvinfok654 күн бұрын
This is the 6 vid I have seen and NOT one person show how to do an update. I am absolutely going nuts for error after error with the update on convex. The documentation is confusing and I just can't get it work!
4 күн бұрын
I watched this to understand typescript mixins, to understand why the proposal for traits was declined based on the existence of mixins. I don't see it. This in no way addresses the diamond problem and is in no way incompatible with the concept of traits. Did the developers of typescript just not bother to understand traits? I find myself incredibly confused by this.
@CanisLatransMedia5 күн бұрын
Is it me or Jacks lips are always not synced properly 😅 Content good as always tho!
@charlyr67745 күн бұрын
Warning this lib is not compatible with NextJS@15 because it unsupported React@19 for the moment.
@martapfahl9405 күн бұрын
Is it a common thing for React? Only used it with Angular so far.
@roid15105 күн бұрын
Very cool video! Quick question: this looks like it exposes the code over network. Are there any risks we should watch out for? Any weird injection issues or files that shouldnt be exposed?
@tririfandani18765 күн бұрын
we need 1 more explanation, the react built in `cache` experimental function
@TheStallion13195 күн бұрын
tbh i think we might have overcomplicated forms
@DaviLimadeMedeiros5 күн бұрын
It'd be nice if the ProNextJS course mentioned had a deep diver section on Middleware, e.g. setting cookie on request (not response) is not trivial and not documented
@columkelly995 күн бұрын
My understanding is that this hook is to help you avoid having to use state in a parent component so that it can be server rendered. In your examples you can call setTodos({ ...todos, newTodo }) in place of the optimistic setter and have the same functionality, you can add setTodos(todos) in the catch block to handle the reversion if something throws.
@mavenwander23745 күн бұрын
Nothing beats Pages Router caching. So clear and simple.
@mainakdas58195 күн бұрын
Random thought, suppose I have a endpoint that query CMS to get 10 items and query backend to get the price of available 8 items. Now I’ve to merge and filter both the API to get the data ans price of those 8 items only. How do you cache that scenario?
@Shoharnaaze6 күн бұрын
Again a new lib/framework?? Pfff 🤢
@astralking61626 күн бұрын
As i know, pages router had a thing like on-demand ISR, was a cool feature, i was implementing it to my project)
@jherr4 күн бұрын
Again though, the ISR granularity is a whole page.
@astralking61623 сағат бұрын
@@jherr Yes, but with on-demand ISR there was no problem. that the product was updated from the admin panel, but it has not yet been updated on the site, since revalidate is set to 60, so for another 60 seconds the product will have outdated information, but with on-demand ISR you could set revalidate to 24 hours and not worry that the product will not be updated, because as soon as the product was updated, a request was made to the product page and it was immediately updated)
@jherr3 сағат бұрын
@@astralking6162 But with ISR you can't control what data on the page is cached at what level. You could send along cache control headers from the API. But if you're doing ISR with server functions those don't have persistent fetch cache. So you'll always be updating all the data at the fastest SLA.
@EpilefRodriguez6 күн бұрын
Thank you for taking the time to share your expertise-it's greatly appreciated!
@hamdaniash-siddiq50216 күн бұрын
well, anything that includes so called 'cache" is something to be aware of. Its a trade between speed and server workload.. Cahing !== optimization.
@couragic6 күн бұрын
4:35 Prices are getting higher even in study projects 😢😊
@Viral_vittles6 күн бұрын
thanks
@feldinho6 күн бұрын
What's the easiest way to tell fetch to always honor the cache control headers from the API? Would that be ergonomic when using API routes? As a backend guy, it feels more intuitive to let the data owner (the API) tell for how long it should be cached.
@katanaut6 күн бұрын
Thanks Jack. We love you.
@rijkvanwel6 күн бұрын
Honestly, of late it feels there is no one at the wheel at Vercel in terms of API design. What a mess. Great explanation though
@ashleytwo6 күн бұрын
Thanks for this clear and detailed explanation
@amershboul91076 күн бұрын
you are the best !
@MrZiyak997 күн бұрын
you technically could wrap the cached components in suspense as well correct? it’s just not mandated cause the loading speed would be really fast?
@jherr4 күн бұрын
Yeah, absolutely.
@belgarat07 күн бұрын
In my app i have tons of data fetching use cases(around 100), do i need to actually place 'use cache' and the timer on every single one?
@codefinity6 күн бұрын
🤔 you can keep all in a single ‘lib’ ‘fetchers’ file and pop the directive at the 🔝❔ But, that would apply same caching behavior for all!
@feldinho6 күн бұрын
Out of curiosity, how do you do it currently?
@kamilkacperek917 күн бұрын
Honestly, the standard, non experimental version feels more intuitive for me.
@azure3467 күн бұрын
What a great video ⚡
@dzigizord65677 күн бұрын
whoever pushed for "use cache" api should be fired. why in the world would you use magic strings for anything. magic strings that influence how infra behaves no less. using normal functions were not cool enough?
@adityaanuragi69167 күн бұрын
I've never used next before, but a directive seems like an absurd way of going about it Why not just a function?
@codefinity6 күн бұрын
Directives have 🫘 there and even JS ‘use strict’ from back in the day. Not that 🧐. If you don’t 👍🏾, don’t use it.
@codefinity6 күн бұрын
@@adityaanuragi6916Maybe use the tech for s bit first before 💩-posting and/or hating on it.
@feldinho6 күн бұрын
@@codefinity It was a bad idea back then, too.
@TianYuanEX6 күн бұрын
Just use tanstack; infinitely better DX with far less gotchas and black box stuff in it...