I have 15 api to show home page. what is the best way to manage all 15 api status in one state?
I created 15 Status abstract classes and use them as constructor for state class and manage building each widget with buildWhen, but it's been very complex. What is the best practice?
HomeState class that pass to ui
class HomeState {
Api1Status? api1status;
Api2Status? api2Status;
HomeState({
this.api1status,
this.api2Status,
});
HomeState copyWith({
Api1Status? newApi1status,
Api2Status? newApi2Status,
}) {
return HomeState(
api1status: newApi1Status ?? this.api1status,
api2Status: newApi2Status ?? this.api2Status,
);
}
}
each API status for managing its state
@immutable
abstract class Api1Status{}
class Api1Loading extends Api1Status{}
class Api1Completed extends Api1Status{
final Api1Entity Api1Entity;
Api1Completed(this.Api1Entity);
}
class Api1Error extends Api1Status{
final String message;
Api1Error(this.message);
}
and 14 more status classes for each API
What is the best practice?
you can create a DataState abstract class to manage state of each API response