- Client-side routing like in NextJS is something not done in Astro and instead routing is handled by the server.
- function components are treated as static
html
and attributes on those components are like AngularJS directives. Those directives tells the component when to render - Component can hydrate (render the html partial) based on 3 states:
client:load
=== render immediatelyclient:idle
=== chill until readyclient:visible
=== render when in viewport
Technique is called island architecture, where you selectively swap out/hydrate html without render cycles.
Can do dynamic routing like NextJS via getStaticProps or full Server-Side Rendering (SSR) in nodeJS.