Why is passing context important in navigation?
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: "Access Navigator". Navigator là widget nằm trong cây (thường do MaterialApp tạo), nên muốn đẩy hay gỡ màn hình phải tìm tới nó từ vị trí hiện tại: Navigator.push(context, route) và Navigator.pop(context) bên trong đều gọi Navigator.of(context), đi ngược từ BuildContext lên tổ tiên để tìm NavigatorState gần nhất. Không có context đúng vị trí thì không biết ngăn xếp route nào cần thao tác. "Access theme" sai vì Theme.of(context) cũng dùng context nhưng để đọc màu sắc và kiểu chữ, không phải lý do context cần thiết khi điều hướng. "Access state" sai vì trạng thái của widget hay Provider có thể đọc qua context, nhưng điều hướng không cần nó. "Access layout" sai vì thông tin bố cục như kích thước đến từ MediaQuery hay LayoutBuilder, không liên quan việc chuyển màn hình.
Cùng chủ đề
Đi tiếp từ đây