title: Refresh/Reset StreamProvider - Flutter Firebase
body: <p>In my app, I have the following providers.</p>
  <pre class="lang-dart prettyprint-override"><code>@override
    Widget build(BuildContext context) {
      return OverlaySupport.global(
        child: MultiProvider(
          providers: [userLoggedIn, currentUserData],
          child: MaterialApp(...)))
  }
  </code></pre>
  <pre class="lang-dart prettyprint-override"><code>  var userLoggedIn = StreamProvider&lt;User?&gt;.value(
        value: FirebaseAuth.instance.authStateChanges(), initialData: null);
  
    var currentUserData = StreamProvider&lt;FrediUser&gt;.value(
      updateShouldNotify: (_, __) =&gt; true,
      initialData: FrediUser(
        loginProvider: '',
        email: '',
        admin: false,
          profileSettings: [],
          profileChips: [],
          profileStats: [],
          id: 'loading',
          imageUrl: 'loading',
          bio: 'loading',
          username: 'loading'),
      value: currentUserID != null ? currentUserDataStream() : null,
    );
  </code></pre>
  <h2>PROBLEM</h2>
  <p>When the user logs out (or logs in for the first time), the provider is either:</p>
  <ul>
  <li>Containing old user data (until a hot restart is done, when the providers are called again and reloaded)</li>
  <li>Null or empty, because there was no user before.</li>
  </ul>
  <p><strong>What I want to do is to</strong> refresh or call the <code>Stream Providers</code> again once I have a new user, or delete all the data once a user logs off.</p>
  <p>Thank you!</p>