Вам дан приведенный ниже код. Найдите в нем ошибки и предложите рефакторинг.
@immutable
class HomePage extends StatefulWidget {
String? authToken;
HomePage({
String? authToken,
Key? key,
}) : this.authToken = authToken ?? '',
super(key: key);
@override
State<HomePage> createState() => _HomePageState(authToken!);
}
class _HomePageState extends State<HomePage> {
String authToken;
List<String>? items;
_HomePageState(this.authToken);
@override
void initState() {
super.initState();
if (items == null && items!.isEmpty) {
Api().loadData(authToken).then((data) {
items = data;
});
}
}
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
title: Text('Dashboard'),
),
body: RefreshIndicator(
onRefresh: () async {
Api().loadData(authToken).then((value) => items = value);
},
child: Center(
child: ListView(
children: [
for (final item in items!)
ListTile(
title: Text(item),
),
],
)),
),
);
}
}