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.