Search code examples
flutterdartflutter-provider

Call a future method on Provider initialization


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(),
            ],
          ),
        );