Call a future method on Provider initialization

Issue

How can one call a method from a provider on initialization?

Want to call CoolProvider().fetchCoolData()

return ChangeNotifierProvider(
      create: (context) => CoolProvider(),
      child: Stack(
        alignment: Alignment.bottomCenter,
        children: [
          SomeWidgetWithConsumer(),
          AnotherWidgetWithConsumer(),
        ],
      ),
    );

Solution

You can do it like this.

return ChangeNotifierProvider(
      create: (context) => CoolProvider()..fetchCoolData(),
      child: Stack(
        alignment: Alignment.bottomCenter,
        children: [
          SomeWidgetWithConsumer(),
          AnotherWidgetWithConsumer(),
        ],
      ),
    );

Answered By – Jigar Patel

Answer Checked By – Timothy Miller (FlutterFixes Admin)

Leave a Reply

Your email address will not be published. Required fields are marked *