How to get data from the FutureProvider in flutter How to get data from the FutureProvider in flutter dart dart

How to get data from the FutureProvider in flutter


FutureProvider exposes the result of the Future returned by builder to its descendants.

As such, using the following FutureProvider:

FutureProvider<int>(  initialData: 0,  builder: (_) => Future.value(42),  child: ...)

it is possible to obtain the current value through:

Provider.of<int>(context)

or:

Consumer<int>(  builder: (context, value, __) {    return Text(value.toString());  });


In my example I used the create parameter of FutureProvider to request the API, then then I used Consumer to get the results of the API.

 FutureProvider(        create: (_) => peopleService.getAllSurvivor(),        child: Consumer<List<Survivor>>(builder: (context, survivors, _) {          return survivors == null              ? Center(child: CircularProgressIndicator())              : ListView.builder(                  itemCount: survivors.length,                  itemBuilder: (context, index) {                    var survivor = survivors[index];                    return ListTile(                      title: Text(survivor.name),                      subtitle: Text(survivor.gender),                      leading: Icon(Icons.perm_identity),                    );                  },                );        })));