Quand utiliser Provider.of <X> contre Consumer <X> dans Flutter

J'emballage toujours ma tête autour des techniques de gestion de l' Etat en flottement et je suis un peu confus quand et pourquoi utiliser Provider.of<X>contre Consumer<X>. Je comprends (je pense) de la documentation que lorsque vous choisissez entre ces deux, vous utiliseriez...