Экран профиля шлёт запрос к API на каждый введённый в поиск символ
class _ProfilePageState extends State<ProfilePage> {
@override
Widget build(BuildContext context) {
return FutureBuilder<Profile>(
future: api.loadProfile(),
builder: (context, snap) => ProfileView(snap.data),
);
}
}
На экране есть поле поиска, которое вызывает setState. В логах сервера — запрос /profile на каждое нажатие клавиши, а экран мигает индикатором загрузки. Как исправить?
- Создать Future один раз в initState и хранить в поле
- Заменить FutureBuilder на StreamBuilder
- Пометить FutureBuilder модификатором const
- Вызывать loadProfile внутри builder
