# Widget, Element, RenderObject

> Ba nhánh của Element.updateChild, Widget.canUpdate, key quyết định State giữ hay mất, const đưa rebuild vào nhánh bỏ qua.

- URL: https://dantech.academy/courses/flutter-mobile-101/02-widget-essentials/lesson-06-three-trees-const-and-keys
- Khóa học: [Flutter Mobile 101](https://dantech.academy/courses/flutter-mobile-101.md)
- Module: Widget Fundamentals
- Thời lượng: 24 phút
- Độ khó: beginner
- Truy cập: Dành cho học viên

## Mục tiêu

- Phân biệt widget tree, element tree, render tree và nói được cây nào tốn nhiều công dựng nhất
- Đọc ba nhánh của Element.updateChild và suy ra số phận của một widget
- Chẩn đoán lỗi state bám nhầm phần tử, và đặt const đúng chỗ nó thật sự có tác dụng

## Nội dung bài học

1. Three Trees
2. Ba Nhánh Quyết Định Số Phận Một Widget
3. const: Đòn Bẩy Của Nhánh 1
4. key: Đòn Bẩy Giữa Nhánh 2 Và Nhánh 3
5. Key Dùng Ngược: Cố Tình Remount
6. Khung Quyết Định
7. Vậy Còn RenderObject
8. Thuật Ngữ

## Học cùng AI agent

Toàn bộ bài học dành cho học viên của khóa. Học viên mở bài trên web và bấm nút **Markdown** để copy toàn bài, rồi dán vào Claude, ChatGPT, Cursor hoặc agent bạn đang dùng. Nhanh hơn: tạo token ở `/profile/ai-agents` và agent đọc bài trực tiếp qua MCP.

- [Đăng ký khóa học](https://dantech.academy/flutter-mobile-101/checkout)

---

- Bài trước: [Stack, Positioned và IgnorePointer](https://dantech.academy/courses/flutter-mobile-101/02-widget-essentials/lesson-05-stack-and-overlays.md)
- Bài tiếp theo: [BuildContext và InheritedWidget](https://dantech.academy/courses/flutter-mobile-101/02-widget-essentials/lesson-07-buildcontext-and-inherited-widget.md)
