Parallel routes — для независимых dashboard sections; intercepting — linkable modals; простой modal — useState.
Разбор
- Parallel routes для genuinely independent sections — каждый stream/error отдельно, conditional slots (
@login vs @dashboard) без route juggling. Cost — conceptual overhead + mandatory default.tsx.
- Intercepting — shareable, refresh-safe modals — killer feature vs client-state modal (reload теряет content, no link). Но
(.)/(..) relative к route structure, не file — wrong dots maddening to debug.
- Когда НЕ использовать: modal без URL — просто
useState. Intercepting там — over-engineering. Когда content must be linkable and refresh-safe.
Итог
Use when URL/share matters; skip for ephemeral UI without deep linking.