Why is the widget tree considered immutable?
4 phương ánCó giải thích
Các phương án trả lời
Chọn một phương ánLời giảiChọn phương án để mở
Đáp án đúng: "Widgets are recreated instead of modified". Widget trong Flutter là bản mô tả cấu hình bất biến, mọi trường đều final và lớp được gắn @immutable; muốn giao diện đổi, ta không sửa widget cũ mà gọi setState để build trả về widget mới với giá trị mới, rồi Flutter so sánh với lần trước và cập nhật Element cùng RenderObject bền vững bên dưới. Widget rẻ nên tạo lại liên tục cũng không sao. "Widgets cannot be removed" sai vì khi build lần sau không trả về một widget nữa, nó bị gỡ khỏi cây và Element tương ứng bị huỷ. "Widgets are stored permanently" sai vì widget sống rất ngắn, mỗi lần dựng lại lại có thể hiện mới; thứ tồn tại lâu là Element và State. "Widgets cannot contain data" sai vì widget vẫn chứa dữ liệu cấu hình như chuỗi của Text hay màu của Container, chỉ là dữ liệu đó không đổi sau khi tạo.
Cùng chủ đề
Đi tiếp từ đây