# Build A Compose Screen From State

> The route owns the wiring, and the content composable only renders state. And why shouldn't a Toast live in state?

- URL: https://dantech.academy/en/courses/kotlin-accelerator/engineer-builder/02-compose-ui-from-state/lesson-04-compose-screens-from-state
- Course: [Mobile Action Pro](https://dantech.academy/en/courses/kotlin-accelerator.md)
- Module: Compose UI from State
- Duration: 12 min
- Difficulty: beginner
- Access: Enrolled students
- Tiếng Việt: https://dantech.academy/courses/kotlin-accelerator/engineer-builder/02-compose-ui-from-state/lesson-04-compose-screens-from-state.md

## Objectives

- Separate the route that owns the wiring from the content composable that only renders state
- Pass state down and send user intent up through callbacks
- Tell persistent state apart from one-time events through two separate collection paths

## In this lesson

1. Lesson Goal
2. Part 1: A Composable Only Answers "What Is The User Seeing?"
3. Part 2: The Route Owns All The Wiring
4. Part 3: State Goes Down, Intent Goes Up
5. Part 4: Gather The Screen Modes In One Place In The Composable
6. Part 5: You Can Still Use Local State
7. Part 6: State And One-Time Events Take Two Different Paths
8. Code Reading Path
9. Bad Smells
10. References
11. Key Takeaways

## Study with an AI agent

The full lesson is for students of this course. Students open the lesson on the web and press **Markdown** to copy all of it, then paste it into Claude, ChatGPT, Cursor or whichever agent you use. Faster: mint a token at `/profile/ai-agents` and your agent reads lessons over MCP.

- [Join the course](https://dantech.academy/en/kotlin-accelerator/checkout)

---

- Previous lesson: [Control Recomposition](https://dantech.academy/en/courses/kotlin-accelerator/engineer-builder/02-compose-ui-from-state/lesson-03-control-recomposition-with-stable-state.md)
- Next lesson: [Reuse The Theme And UI Components](https://dantech.academy/en/courses/kotlin-accelerator/engineer-builder/02-compose-ui-from-state/lesson-05-reuse-theme-and-ui-components.md)
