Почему функция извлечения данных с сервера выполняется каждый раз, когда я посещаю сайт?
Кто-нибудь может подумать, как преобразовать это, загружая информацию только в первый раз, а затем перезагружая только тогда, когда происходят изменения?
Я использую эту топи c, чтобы написать свою функциональность: https://github.com/flutter/flutter/issues/11426#issuecomment -414047398
спасибо за любую помощь:)
мой код:
class _MyFollowsState extends State<MyFollows> {
UserApiService userApiService;
SharedPreferences sharedPreferences;
Future _future;
@override
void initState(){
super.initState();
userApiService = UserApiService();
_future = getUserData();
}
getUserData() async{
sharedPreferences = await SharedPreferences.getInstance();
int id = sharedPreferences.getInt('id');
return userApiService.getUser(id);
}
@override
Widget build(BuildContext context){
return FutureBuilder(
future: _future,
builder: (context, snapshot){
if(!snapshot.hasData){
return Scaffold(
backgroundColor: Colors.white,
body: Center(
child: CircularProgressIndicator(),
),
);
}
User user = snapshot.data;
return Scaffold(
backgroundColor: Colors.white,
body: Container(
child: ListView.builder(
itemCount: user.myFollows.length,
itemBuilder: (context, i){
return GestureDetector(
onTap: () {
//
},
child: Card(
margin: EdgeInsets.only(top: 15, right: 10, left: 10),
child: ListTile(
title: Text(user.myFollows[i].firstName + ' ' + user.myFollows[i].lastName),
subtitle: Text(user.myFollows[i].accountName),
leading: CircleAvatar(
radius: 25,
backgroundImage: NetworkImage('https://upload.wikimedia.org/wikipedia/commons/8/8d/George_Clooney_2016.jpg'),
),
trailing: Icon(Icons.more_vert),
),
)
);
}
)
),
);
},
);
}