Comments (5)
This is expected. The ProviderSubscription was already closed my Riverpod by the time you called .read()
Riverpod closes all subscriptions associated to a widget when the widget is unmounted. So you cannot use sub.read()
after the widget got unmounted – which is what you do here.
from riverpod.
Sounds like you used Future
to cheat around the error. That wasn't really supported
Looks like Consumer supports calling sub.read
inside ConsumerState.dispose
. Sounds like we would want to support this for useEffect.
Do you mind opening a feature request for this?
from riverpod.
This is expected. The ProviderSubscription was already closed my Riverpod by the time you called
.read()
Riverpod closes all subscriptions associated to a widget when the widget is unmounted. So you cannot use
sub.read()
after the widget got unmounted – which is what you do here.
So there is currently no other solution to cache data?
I hope not to load all the DataSource at once when entering NextPage, and release the KeepAliveLink of DataSource after leaving NextPage.
from riverpod.
The issue is likely your Future
wrapping the .read()
I guess removing it should work
from riverpod.
The issue is likely your
Future
wrapping the.read()
I guess removing it should work
I thought so before, but actually it's not.
Removing the future wrapping throws an error:
- 2.5.1:Bad state: called ProviderSubscription.read on a subscription that was closed.
- 2.4.10:At least listener of the StateNotifier Instance of 'StateController' threw an exception
when the notifier tried to update its state.
Having a Future throws an error:
- 2.5.1:Bad state: called ProviderSubscription.read on a subscription that was closed.
- 2.4.10:Work well.
from riverpod.
Related Issues (20)
- ImageProvider generated as InvalidType HOT 4
- `AutoDisposeProvider` is getting disposed when watched in a `StreamProvider` using `async*` HOT 1
- Provider container loses data in widget test HOT 4
- AutoDisposeNotifierProvider causing state loss HOT 3
- Reword `The ref.watch method should not be called asynchronously`
- Add a DevTools extension for riverpod HOT 2
- Broken update HOT 3
- [riverpod 3] NotifierProvider doesn't work with a NotifierBase mixin.
- riverpod_generator does not respect import aliases HOT 1
- Ref onError callback HOT 1
- `ref.exists()` returns `true` when manually invalidate a provider.
- `yarn dev -l {LANG}` is needed when hosting documentation website locally for specific locale with docusaurus
- Stream from StreamProvider is not unsubscribed to when widgets get disposed
- There is no way to handle the "done" event on the stream of a StreamProvider
- `ref.invalidate(familyProvider)` is not working with scoped providers
- PageController stateprovider doesn't work when .previousPage() or nextPage() is pressed
- beforeDispose or beforeInvalidate hook, happen before invalidate HOT 5
- Multiple invalidation of Providers
- Unable to use the latest riverpod in flutter version lower than 3.16 HOT 2
- The getter 'variable2' isn't defined for the class 'PropertyAccessorElement'.
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from riverpod.