Câu hỏi phỏng vấn Flutter
Câu hỏi

Phân biệt StatelessWidget và StatefulWidget?

Câu trả lời

StatelessWidget và StatefulWidget là hai loại widget cơ bản trong Flutter, một framework phát triển ứng dụng di động đa nền tảng.

StatelessWidget là loại widget không có trạng thái (state) thay đổi. Nó chỉ đơn giản là một widget mà khi được tạo ra, nó sẽ không thay đổi gì cả cho đến khi nó bị hủy đi. StatelessWidget thường được sử dụng để tạo ra các phần tử giao diện người dùng mà không cần lưu trữ bất kỳ trạng thái nào, ví dụ như một Text hoặc IconButton mà không cần phản ứng với bất kỳ sự kiện nào từ người dùng[1][4][6][16].

StatefulWidget, ngược lại, là loại widget có trạng thái có thể thay đổi. Nó có thể lưu trữ dữ liệu có thể thay đổi và cập nhật giao diện người dùng dựa trên sự thay đổi đó. Khi trạng thái của StatefulWidget thay đổi, ví dụ như thông qua hành động của người dùng hoặc dữ liệu đến từ mạng, nó sẽ tạo ra một phiên bản mới của giao diện người dùng bằng cách sử dụng hàm setState() để thông báo cho framework về sự thay đổi và yêu cầu vẽ lại widget[1][2][5][6].

Một ví dụ điển hình của StatefulWidget có thể là một checkbox, nơi mà trạng thái checked hay unchecked của nó có thể thay đổi dựa trên sự tương tác của người dùng. Trong khi đó, một icon hoặc một dòng text mà không thay đổi sau khi hiển thị có thể được xây dựng như một StatelessWidget.

Nói chung, nếu bạn cần một widget để hiển thị dữ liệu động hoặc cần phản ứng với sự kiện, bạn nên sử dụng StatefulWidget. Nếu widget của bạn chỉ cần hiển thị thông tin mà không cần phản ứng với bất kỳ sự kiện nào, bạn nên sử dụng StatelessWidget để tối ưu hóa hiệu suất bởi vì nó không cần phải tái tạo mỗi khi có sự thay đổi[1][2...

middle

middle

Gợi ý câu hỏi phỏng vấn

junior

Widget là gì? Nêu tầm quan trọng của nó trong Flutter.

senior

Dart AOT hoạt động như thế nào?

middle

Packages và plugins trong Flutter là gì?

Bình luận

Chưa có bình luận nào

Chưa có bình luận nào