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:

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:

  1. 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 :

 

 

About the Author

Tấn Phước

View all author's posts

Leave a Comment

Your email address will not be published. Required fields are marked *

Bài viết khác

Flutter Form

FLUTTER FORM LÀ GÌ? Form trong Flutter là widget dùng để thu thập và kiểm tra dữ liệu người dùng nhập vào. Thường dùng khi cần nhập nhiều trường và muốn kiểm tra tính hợp lệ của dữ liệu. Sự khác nhau giữa Form + TextFormField và TextField thông thường TextField là widget đơn lẻ, […]

Flutter Layout

Flutter Layout là gì ? Trong Flutter, layout là quá trình sắp xếp các widget con trong không gian giao diện người dùng. Flutter cung cấp nhiều widget layout giúp xây dựng giao diện ứng dụng linh hoạt và dễ dàng. Việc sử dụng đúng các widget layout sẽ giúp bạn tạo ra giao diện […]

Flutter Widget

FLUTTER WIDGET LÀ GÌ? Widget là “viên gạch” để xây nên giao diện Flutter. Mọi thứ nhìn thấy trên app đều là widget: chữ, nút bấm, ô nhập liệu, hình ảnh… Phân loại cơ bản Widget 1. StatelessWidget – Giao diện tĩnh Không thay đổi sau khi được tạo. Dùng khi widget chỉ hiển thị thông tin, […]

Flutter Package

Trong quá trình phát triển ứng dụng Flutter, để tiết kiệm thời gian và tái sử dụng các tính năng có sẵn, lập trình viên thường sử dụng Flutter package – là các thư viện (thư viện mã nguồn mở hoặc do cá nhân viết) giúp thêm các chức năng mới vào ứng dụng mà […]

Agile – Phương pháp phát triển phần mềm linh hoạt

Agile là gì? Agile là một phương pháp phát triển phần mềm linh hoạt, nhấn mạnh vào khả năng thích nghi với thay đổi, làm việc theo nhóm, và phát triển sản phẩm theo từng phần nhỏ (iterative & incremental). Agile không phải là một quy trình cụ thể, mà là một tư duy (mindset) […]

Domain – Tên miền của website trên Internet

Domain là gì? Domain (tên miền) là địa chỉ của một website mà người dùng gõ vào trình duyệt để truy cập. Ví dụ: google.com, facebook.com, mywebsite.vn đều là các tên miền. Nếu Hosting là “ngôi nhà” chứa dữ liệu của website, thì Domain là “địa chỉ nhà” – giúp người dùng tìm đến website […]