Skip to main content

Generated Code: Components

Similar to a Page, when creating a component in FlutterFlow, it automatically generates two files: a Widget class and a Model class.

Prerequisites

This guide uses examples from the generated code of the EcommerceFlow demo app. To view the generated code directly, check out the Github repository.

ComponentModel class

ComponentModel classes are responsible for managing the state and behavior of individual components used within a page. These classes extend the FlutterFlowModel class, providing a consistent structure and shared functionality across all component models. This ensures that each component's state is isolated and reusable, making the app easier to maintain and scale.

The lifecycle of a ComponentModel and its associated widget class follows the same structure as a page. For more details, refer to the documentation on Generated Pages.

onComponentLoad Action: Generated Code

When you define actions for the onComponentLoad action trigger of a component, these actions are added inside an addPostFrameCallback method within the page's initState method. This ensures that the actions are executed only after the initial widget tree is built.

 @override
void initState() {
super.initState();
_model = createModel(context, () => ProductListPageModel());

// On component load action.
SchedulerBinding.instance.addPostFrameCallback((_) async {
await _model.updateTotalCost(context);
safeSetState(() {});
});

}

Was this article helpful?