Why avoid calling `setState` directly inside `build()`?
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ở
Khi gọi trực tiếp `setState` bên trong hàm `build()`, có thể dẫn đến vòng lặp vô hạn. Điều này xảy ra vì khi `build()` được gọi, nó sẽ tạo ra một bản sao mới của widget, sau đó gọi lại hàm `build()` để tạo ra một bản sao mới khác. Nếu trong hàm `build()` này, bạn gọi `setState()`, nó sẽ tạo ra một bản sao mới khác của widget và gọi lại hàm `build()` để tạo ra một bản sao mới khác nữa. Vòng lặp này có thể tiếp tục mãi mãi cho đến khi ứng dụng bị treo. Vì vậy, để tránh vòng lặp vô hạn này, bạn nên gọi `setState()` bên ngoài hàm `build()`.
Cùng chủ đề
Đi tiếp từ đây