buildLayout method
      
  
Widget
buildLayout({ 
    
    
- required BuildContext context,
- required IRefreshState<T> state,
- required Widget itemBuilder(- BuildContext,
- T,
- int
 
override
    Implementation
@override
Widget buildLayout({
  required BuildContext context,
  required IRefreshState<T> state,
  required Widget Function(BuildContext, T, int) itemBuilder,
}) {
  if (state.initialRefresh) {
    return loadingBuilder?.call(context) ?? BaseWidget.loadingWidget(context);
  } else if (state.hasError && state.dataList.isEmpty) {
    return errorBuilder?.call(context) ?? BaseWidget.errorWidget(context);
  } else if (state.dataList.isEmpty) {
    return emptyBuilder?.call(context) ?? BaseWidget.emptyWidget(context);
  }
  return GridView.builder(
    gridDelegate: SliverGridDelegateWithFixedCrossAxisCount(
      crossAxisCount: crossAxisCount,
      mainAxisSpacing: mainAxisSpacing,
      crossAxisSpacing: crossAxisSpacing,
    ),
    itemCount: state.dataList.length,
    itemBuilder: (context, index) =>
        itemBuilder(context, state.dataList[index], index),
  );
}