I’m trying to build a new Next.js app after years of working in the API router, getStaticProps days.<p>I am a technophile who checks this site too many times a day to learn the next thing, but I’m struggling to adjust to Next.js 13, “use client”/“use server”, Server Components.<p>Has it clicked for anyone else yet? I was loving Svelte but then Runes?<p>Am I just an old crotchety dev who can’t keep up, or is it genuinely a new framework and I need to forget everything I knew about old Next.js?
I'm someone who hasn't used Next.js a lot, and started building some projects with it (so I don't have a very nuanced opinion).<p>In general, I don't use the app router because I find it has little benefit as compared to the added complexity for my use cases (mvps / smaller projects). I've been bitten a couple times by not understanding the usage patterns and just making stuff "use client", so I just started using page router again.<p>I assume with more complex projects it helps, but I haven't experienced it first hand
I'm currently building a project using App Router. Here are my thoughts so far:<p>1. In React Server Components, you fetch data at the component level instead of route level. You can pass the data down as props if it's a client component.<p>2. I'm not sure if HMR is faster in Pages, but in App Router it tends to be slow. I always use --turbo to see changes quickly, but it can still be a bit buggy.<p>3. I just found out that using "use client" directive isn't actually sending 100% javascript to the client. It's just a replacement of serverSideProps. The component is rendered both on the server and the client, which can be confusing at first. You can disable SSR using dynamic imports.<p>4. I actually like Route Groups, best feature by far.