커스텀으로 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 해주는 클래스같음.
'Flutter' 카테고리의 다른 글
09. Flutter showDialog 결과값 (0) | 2022.09.27 |
---|---|
05. Flutter build 종료 후 이벤트 (0) | 2022.09.16 |
04. Flutter 상태 저장 shared_preferences (0) | 2022.09.16 |
03. Fultter Datatable 사용 (0) | 2022.09.07 |
02. Flutter Dio 사용법 (0) | 2022.08.28 |