Home > Back-end >  Flutter reset all provider states after sign out
Flutter reset all provider states after sign out

Time:01-03

Whenever I sign out of my app, it seems to not clear all provider states and when I log in to another user my app crashes. Is there way to reset everything to default when performing logout action?

CodePudding user response:

It depends on the scope of your provided objects. If you provide them at top level, the instances will not be disposed and live on.

Possible solutions could be:

  1. Provide your state further down in the widget tree.
  2. Observe a logout event in your state and perform reset of state automatically. There are multiple ways to do this, e.g. use a ProxyProvider.
ProxyProvider<Session, SomeStateClass>(
  create: (_) => SomeStateClass(),
  update: (_, session, instanceOfStateClass) {
   return instanceOfStateClass..reinitialize(session);
}),

In the example above, the update method gets called, when Session notifies about changes.

  • Related