Flutter
06. Flutter Future build 이벤트 방지
NaHyungMin
2022. 9. 19. 16:40
커스텀으로 SearchBar를 만들던 중 상태가 변하면 setState를 콜해서 서버를 계속 호출하는 문제 발생.
class _CustomersState extends State<Customers> {
late Future customerFuture;
@override
@mustCallSuper
void initState() {
super.initState();
customerFuture = generateCustomerList();
}
@override
Widget build(BuildContext context) {
return FutureBuilder(
future: customerFuture,
builder: (BuildContext context, AsyncSnapshot<dynamic> snapshot) {
return _getData(snapshot);
});
}
Future generateCustomerList() async {
List<CustomerModel> customerModelList = await customerService.getCustomerList() as List<CustomerModel>;
customerDatagrid = CustomerDatagrid(customerModelList, customerService, _dataGridController);
customerDatagrid.customerModelList = customerModelList;
customerFuture = generateCustomerList();
}
그냥 초기값을 넣어놓고, 재 할당되면 callback 해주는 클래스같음.