State Management trong Flutter là quá trình quản lý và thay đổi trạng thái của widget. Khi state thay đổi, widget sẽ được cập nhật lại để phản ánh thay đổi đó. Có nhiều phương pháp quản lý state trong Flutter, mỗi phương pháp phù hợp với các loại ứng dụng khác nhau.
Các phương pháp quản lý State trong Flutter
setState():
-
Quản lý state cục bộ trong StatefulWidget
-
Thích hợp cho các ứng dụng đơn giản hoặc state ảnh hưởng chỉ trong widget.
Provider:
-
Quản lý state toàn cục và chia sẻ dữ liệu giữa các widget.
-
Dễ dùng và thích hợp cho ứng dụng lớn, phức tạp.
Ứng dụng State Management vào Mini Project (Note App)
Mục tiêu sẽ làm trong bài này:
-
Nhập, lưu, hiển thị và xóa ghi chú (Sử dựng provider)
- Hiện message khi thêm hoặc xóa ghi chú (Sử dụng setState)
- Github Project : https://github.com/phuoc24205/intern-flutter-project
State Management:
-
StatefulWidget: Dùng để quản lý trạng thái ghi chú trong ứng dụng.
-
Provider: Có thể sử dụng để chia sẻ và quản lý danh sách ghi chú giữa các widget.
Trình bày ứng dụng State Management trong Project:
-
Sử dụng Global State với Provider để quản lí ghi chú (Thêm, xóa)
1. Tạo class NoteProvider (Có thêm note, xóa note)
Bọc ChangeNotifierProvider trong runApp
Khai báo provider và lấy list note từ provider trong build để sử dụng
Dùng noteProvider trong các button thêm và xóa
Thêm
Xóa
2. Sử dụng Local State để quản lí cập nhất message khi thêm hoặc xóa
Tạo biến trong _NoteHomeState và hàm showMessage trong showMessage dùng setState để cập nhật state
Thêm widget hiện thị thông báo
Sử dụng trong sự kiện press của button
Kết quả đặt được :