If you are still validating product fit, start with out‑of‑the‑box components first. Defer heavy styling or forking until core UX assumptions are proven.
When to Use Pre‑built Components
Use UIKit components when you need to: Consider building custom (or moving to Fork & Extend) when you:- Need radical UX divergence not achievable via theming/styling/dynamic config
- Must embed experimental interaction paradigms (novel canvas, 3D, AR)
- Have compliance constraints requiring full source review & diff control
Quick Navigation
Social Overview
Posts, feeds, stories, clips, livestream
Chat Overview
Conversation, group & live chat
Communities
Community spaces
Moderation
Safety & reporting
Content Discovery
Search & trending
Users
Profiles & presence
Media & Ephemeral
Chat Components
For advanced dynamic layout adaptation, combine components with Dynamic UI to conditionally show/hide or rearrange modules without forking.
Customization Path (Decision Snapshot)
Goal | Start Here | Escalate To | When to Escalate |
---|---|---|---|
Brand colors & typography | Cutomization | Component Styling | Need granular token overrides beyond palette |
Adjust spacing / hide elements | Component Styling | Dynamic UI | Multiple layouts per context (role, A/B test) |
Conditional layouts & feature gating | Dynamic UI | Fork & Extend | Need structural changes not expressible in config |
Experimental UX / deep logic changes | Fork & Extend | — | Full control & long‑term ownership required |
Troubleshooting
Component Does Not Render
Component Does Not Render
Confirm authentication & client initialization completed; check feature flag / dynamic UI rules not excluding component; inspect console / logs for API permission errors.
Style Override Not Applying
Style Override Not Applying
Verify selector specificity (see Component Styling precedence); ensure dynamic theme not overwriting at runtime; clear build / metro cache.
Realtime Updates Missing
Realtime Updates Missing
Check network / WebSocket connectivity; verify subscription scope; ensure app not in background restricted mode; inspect rate limiting headers.
Media Upload Slow or Fails
Media Upload Slow or Fails
Check file size limits & compression settings; fall back to resumable upload APIs; ensure correct MIME type negotiation.
Decision: Style vs Fork?
Decision: Style vs Fork?
If change is purely visual (layout minor, spacing, colors) stay in styling; structural render tree changes or new data flows → evaluate fork per advanced customization matrix.
Next Steps
Social Components
Deep dive into social content
Chat Components
Messaging & live chat details
UIKit Customization
Foundational tokens
Component Styling
Targeted overrides
Dynamic UI
Conditional layouts
Fork & Extend
Advanced customization
Keep feedback flowing: note gaps or advanced scenarios and feed them back before committing to a fork—often a lighter abstraction exists.