alloc/saus

[RFC] Server only components

Opened this issue · 0 comments

  • All components are server-only when the nearest route layout has no hydrator defined.
  • For component subtrees to opt-in to client-side rendering, they need to attach some special data- attributes to the subtree's root element.
    • One attribute will tell Saus which component module to import and which export specifier points to the component (eg: data-import="/path/to/module.js#MyComponent").
    • The 2nd attribute will tell Saus which hydrator module to import (eg: data-hydrate="/path/to/module.js").
    • The final attribute is optional, and it will tell Saus when to hydrate (eg: data-when="visible"). If undefined, Saus will hydrate the subtree immediately after its modules are loaded.