-
Notifications
You must be signed in to change notification settings - Fork 0
Open
Description
Summary
Audit and improve all RSC page implementations in the demo to align with the React on Rails RSC migration guide best practices. The demo serves as a reference for RSC adoption, so each page should showcase recommended patterns.
RSC Pages to Review
- Product Page (
/product/rsc) —ProductPageRSC - Product Search (
/product-search/rsc) —ProductSearchRSC - Dashboard Analytics (
/analytics/rsc) —DashboardPageRSC - Blog Post (
/blog/rsc) —BlogPostRSC - Restaurant Search (
/search/rsc) —SearchPageRSC
Areas to Evaluate
Component Organization
- Proper
'use client'boundary placement — only on leaf interactive components - Server components should not import client-only code
- Verify no unnecessary client components (components that could remain server-side)
Data Fetching & Streaming
- Async prop streaming order is optimized (critical content first)
- Suspense boundaries with meaningful skeleton fallbacks
- Sync vs async prop split follows best practices (minimal sync props for fast initial paint)
Bundle Size
- Confirm heavy libraries (d3, marked, highlight.js) stay server-side in RSC variants
- Verify client JS is minimal (only interactive islands hydrate)
- No unintended client bundle bloat from server component imports
Controller & View Patterns
stream_react_component_with_async_propsusage follows latest APIemit.callordering and naming conventions are consistent- Proper use of
enable_async_react_renderingandstream_view_containing_react_components
Error Handling & Loading States
- Error boundaries around async sections
- Skeleton/loading fallbacks for all Suspense boundaries
- Graceful degradation if streaming fails
Performance
- No waterfall data fetching in controllers (parallelize where possible)
- Appropriate
highWaterMarksettings for streams - Efficient serialization (no over-fetching data in props)
Acceptance Criteria
- Each RSC page reviewed against migration guide best practices
- Identified improvements documented and implemented
- Demo remains a clear reference for each rendering pattern (SSR vs Client vs RSC)
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
No labels