Best Riverpod tutorial by far!! And the quality of this video is off the charts 🚀
@RobertBrunhage4 жыл бұрын
Thanks Tadas, keep up the great work yourself!
@josecoverlessons3 жыл бұрын
Agree! Great videos from you as well Tadas!
@alienfrenzyHD3 жыл бұрын
Spent all day trying to pass a file to Riverpod so I can retrieve it and update state. Your vid got me there. Thanks!!
@Aspiiire3 жыл бұрын
After reading the documentation, came here and I have to say it, This is the easiest explanation about Riverpod, great work!!
@RobertBrunhage3 жыл бұрын
Awesome to hear so glad it is helpful! 😊
@nick0c4 жыл бұрын
This is like watching a fireship video!
@alphamusic27344 жыл бұрын
Bro as a beginner, trying to understand provider, you saved me man. Good job. Subscribe earned.🙏🙏🙏🙏🙏
@RobertBrunhage4 жыл бұрын
Awesome, glad I could be of help!
@LearnFlutterCode4 жыл бұрын
Good intro and surface level explanation of riverpod
@RobertBrunhage4 жыл бұрын
Thanks man, super appreciated! P.s. Good work on the videos and keep it up!
@rp28043 жыл бұрын
Your video edits are sick! My fav flutter guy
@RobertBrunhage3 жыл бұрын
Thanks a ton!
@elaith94 жыл бұрын
Nice, straightforward and clean. Good work sir!
@RobertBrunhage4 жыл бұрын
Thanks, glad you like it!
@FilledStacks4 жыл бұрын
Great overview of the classes provided by riverpod. i'm excited to see what i can do with it when i work it into one of my client arechitectures. i'd like to give it a try as well. also, welcome to the voiceover editing club haha. Now you'll spend many more hours making a video :D
@RobertBrunhage4 жыл бұрын
Haha thanks man! Looking forward to see what you do with it! It's insanly fun to edit but damn it takes a lot of time 😅
@SumitBhanushali164 жыл бұрын
@Filledstacks what's your view on getX package?
@FilledStacks4 жыл бұрын
@@SumitBhanushali16 I don't have any views. i think the author is trying to do something that will make applications development easier so I'm in 100% support of that.
@timohtey3 жыл бұрын
Flutter Riverpod looks so clean!
@xihuny4 жыл бұрын
Wow. This is amazing. Learnt a lot from a 10 min video. Waiting for more amazing videos. ❤️
@RobertBrunhage4 жыл бұрын
Awesome, super happy to hear you liked it and learned something! More videos coming!
@hsh21194 жыл бұрын
Love the new format. Keep doing it. Good job.
@RobertBrunhage4 жыл бұрын
Thanks! Glad you like it and it's a lot more fun to do so expect more videos like this for sure!
@shibun50913 жыл бұрын
Thank you. Great Video. Now I started using Riverpod.
@KyrylPetruk4 жыл бұрын
Awesome tutorial. I can see that many methods are interchangeable. Would love to see more practical examples to illustrate when to use which. Keep up the good work!
@RobertBrunhage4 жыл бұрын
Thanks! That is the good part, depending on what your application needs it has the solution for it (most likely at least). So if you are using streams a lot, you can use the StreamProvider and if you are using ChangeNotifiers you can use ChangeNotifierProvider. A lot of these decisions are up to the developer depending on what they want to use. Personally I use StateNotifiers a lot but they are a bit more complex, hence why I said that in the video! I would really recommend people to use ChangeNotifiers as that is a lot easier to start out with and scales increadibly well together with Riverpod!
@i.k.shaikh37724 жыл бұрын
Really powerful tutorial, highly recommend
@RobertBrunhage4 жыл бұрын
Thanks, super happy that you enjoyed it!
@husseinalmosawi20014 жыл бұрын
Please, make more videos with real projects with Riverpod It will get you tons of views because of how new it is and also because not a lot of KZbinrs are covering it
@atlantis_expedition_member47474 жыл бұрын
Thank you so much for this. It was so clear and easy to follow up. And yes on the StateNotifierProvider video. This provider looks like the one most apps would use.
@RobertBrunhage4 жыл бұрын
Glad it was helpful!
@rebarius4 жыл бұрын
My heart always "flutters" when I see another vid from Robert 💪🏼🦾
@RobertBrunhage4 жыл бұрын
😊 😊 😊
@akshattamrakar90713 жыл бұрын
Man you made it so simple even I understand it ....
@dennyraymond99324 жыл бұрын
Waiting for your provider complete explanation videos. btw great video!
@RobertBrunhage4 жыл бұрын
Hmm maybe I should do that as well, thanks for the idea! Glad you enjoyed it!
@lbarq4 жыл бұрын
Once again a great tutorial. Thanks a lot.
@RobertBrunhage4 жыл бұрын
Thanks Luis, glad you enjoyed the video!
@ahteramkhattak22433 жыл бұрын
good job mate! also wld love to see a separate state notifier video
@letu37164 жыл бұрын
Nice tutorial ! Bro, please make more video like this 🚀
@RobertBrunhage4 жыл бұрын
Thanks, more coming!
@josecoverlessons3 жыл бұрын
Watched at 2x Speed great video and great info! Keep the great content coming :)
@barindersingh044 жыл бұрын
A video about statenotifier video will be great..
@RobertBrunhage4 жыл бұрын
Will put it higher on my todo list!
@ehsanhasin Жыл бұрын
great explanation. well done.
@deepmondal85644 жыл бұрын
Give us more tutorial on Riverpod, We need you!
@RobertBrunhage4 жыл бұрын
Have more planned for sure!
@purushottampk45304 жыл бұрын
@@RobertBrunhage soon!
@GumbyTheGreen12 жыл бұрын
@@RobertBrunhage Is that still true? If so, when will it happen?
@brcglog3808 Жыл бұрын
Thanks. this is what I'm looking for
@urmilshroff4 жыл бұрын
Really nice video, thank you!
@RobertBrunhage4 жыл бұрын
Glad you liked it!
@tanthien17933 жыл бұрын
Much cleaner than provider
@andenetalexander52444 жыл бұрын
Great intro to RiverPod. Can you do more complex real world state management with flutter?
@RobertBrunhage4 жыл бұрын
I have some more videos demostrating different cases with riverpod. Check out my movie app video and the pagination app video!
@darkcaster36194 жыл бұрын
Awesome tutorial! Question, why streamProvider and futureProvider both don’t have autoDispose by default? I mean is there a case that we don’t need to dispose them?
@nromancarcamo3 жыл бұрын
What’s the benefit for testing? Nobody does an article about it. Looks cool, but in testing is where people should focus, in my case, at the company I am working with, they required testing (bdd) and some of these state management packages are missing that point. Luckily to me, I decided to go with redux for flutter/dart + flutter hooks + MVVM pattern to test ephemeral state (I am not fan of putting al the state of a screen into the global state, classes does that very well).
@WillBeebe4 жыл бұрын
Great tut! This feels so much like React now.
@kurtestacion61134 жыл бұрын
Is this all that there is in riverpod? if not what percentage does this video cover about riverpod? TIA for the response!
@akshay60194 жыл бұрын
When using the ConsumerWidget the entire widget is rebuilding is their a fix other than using a stateless widget and consumer, or am I doing it wrong
@fabsync4 жыл бұрын
Great tutorial.. right to the point! I wonder if you know of Momentum.. Do you think is better than Riverpod? I would love to see a tutorial on that.. there is nothing in KZbin on that
@chhinsras2 жыл бұрын
Best of the Best
@purushottampk45304 жыл бұрын
What is difference b/w StateNotifierProvider & ChangeNotifierProvider?
@RobertBrunhage4 жыл бұрын
StateNotifier is an improved ValueNotifier. So in the case of a StateNotifier you can only change the state within the StateNotifier compared to a ChangeNotifier you can change outside if you don't make getters and private setters as well as you have to call NotifyListeners. So the providers is just different providers to provide one of these two :)
@salahuddinshaikh78473 жыл бұрын
Nice tutorial.
@ahteramkhattak22433 жыл бұрын
please do a separate statenotifuer vdo with riverpod 1.0.0 although its in pre release/dev/beta
@angelnajera51073 жыл бұрын
At 0:46 How do you wrap the widget by right clicking? Is this an extension?
@rubinbajracharya93194 жыл бұрын
Waiting for something like this for a long time. Great video. Can you tell the configuration that you use in vscode. Theme and font....
@RobertBrunhage4 жыл бұрын
Awesome, glad you enjoyed it! Theme: One Dark Pro Font: JetBrains Mono
@paulojamero96703 жыл бұрын
Hello. I started watching tutorials yesterday. Can I skip learning Provider and other things and jump to what Riverpod offers instead? Is it okay?
@RobertBrunhage3 жыл бұрын
Yep, nothing wrong with that :)
@paulojamero96703 жыл бұрын
@@RobertBrunhage Thank you for answering my question. :)
@acornerofherheart-jr9pl3 ай бұрын
sir if i use consumerwidget then it rebuilds the whole widget right? so when i want only particular component to be redrawn then i should use consumer and builder right? am i right or not?
@7mada894 жыл бұрын
First thanks for the tutorial. I tried the ChangeNotifierProvider you explained but it rebuild the hole class when I use the increment method. is there something like selector in Riverpod ?
@RobertBrunhage4 жыл бұрын
If you want to rebuild a part of a class you need to use the Consumer widget instead of making the whole Class extend ConsumerWidget! This way you will just rebuild everything inside the Consumer widget!
@7mada894 жыл бұрын
thanks dude.
@PHALsothea.4 жыл бұрын
Clear tutorial
@RobertBrunhage4 жыл бұрын
Thanks!
@angyrino54674 жыл бұрын
Very good job but I’d like more reasons to move from Provider to Riverpod. I’m waiting for a realworld example video 💪
@RobertBrunhage4 жыл бұрын
Having plans for that!
@imzalab4 жыл бұрын
wow nice!!
@girishparate64104 жыл бұрын
Epic intro 🤣🤣 stay cool
@RobertBrunhage4 жыл бұрын
Hey Girish! Glad you enjoyed it, so much fun to create videos this way!
@girishparate64104 жыл бұрын
@@RobertBrunhage 👍
@hajajmaor3 жыл бұрын
1K Like!!!!! Great video
@RobertBrunhage3 жыл бұрын
🎉
@Mark-og2cu4 жыл бұрын
Using the ScopedProvider, how do I access it in a method e.g. onPressed? The context.read does not work with ScopedProvider.
@TamNguyen-tj8hc3 жыл бұрын
What is the difference between FutureProvider and StreamProvider?
@RobertBrunhage3 жыл бұрын
I recommend reading up about the difference between a Future and a Stream stackoverflow.com/questions/50844519/flutter-streambuilder-vs-futurebuilder. Regarding the providers, it's just to provide either one of them!
@alisherkai38793 жыл бұрын
Hi! Do you use riverpod in your projects?
@RobertBrunhage3 жыл бұрын
Yep 😊
@Raja-tj5lf4 жыл бұрын
Which theme do you use?
@ebenezerferguson37564 жыл бұрын
Can you please explain how to use the Change Notifier Provider in a stateful widget? Coz i can't extend a consumer widget there
@RobertBrunhage4 жыл бұрын
You can't extend a StatefulWidget with ConsumerWidget if I remember correctly. If you want to use the StatefulWidget you need to use a build i.e: 01:09
@ShresthaSujal4 жыл бұрын
Loved this tutorial. Also liked those VS code thing you used for signs like => and != as a slash in =. How do i enable these feature in my VS code?
@leonelmateus4 жыл бұрын
Font Ligatures. Fira Code font for example supports that. Google it to find out more. Other fonts also support ligatures.
@tama-w2t4 жыл бұрын
Hello. Thank you for the easy-to-understand explanation of stateManager. Is the icon model the Fallout series Vault Boy?😃
@chandru43223 жыл бұрын
Me: Mom I want fireship Mom:We have fireship at home fireship at home:
@hawkybae4 жыл бұрын
Is Riverpod safe to use in production or is it still in experimental state?
@RobertBrunhage4 жыл бұрын
Yes it is, he outlines this in the readme of the package!
@iamsidd_j3 жыл бұрын
I get @Fireship vibes from this channel
@faisalsaki59052 жыл бұрын
how to set bool value in statenotifier provider
@husseinalmosawi20014 жыл бұрын
After changing my state with StateProvider example from context.read(userAuthProvider).state['loaded'] = false; to context.read(userAuthProvider).state['loaded'] = true; How can I make my app reload or use the new state? Consider that I'm using a HookWidget and not a Stateful widget
@RobertBrunhage4 жыл бұрын
First if you are using StateNotifiers you should not change the state like that but instead use methods. So you can do context.read(myStateProvider).setLoaded(true); To listen on state with hookWidget you use Final myState = useProvider(myStateProvider.state)
@husseinalmosawi20014 жыл бұрын
@@RobertBrunhage Thanks
@robsonsilv4.4 жыл бұрын
It's a great overview about Riverpod, congrats Robert! How do you use DI with Riverpode? With get_it, separed class or in main with providers? Thanks.
@ajdinhusic25747 ай бұрын
he just showed you in the video how to use DI. the providers are the mechanisms that inject the services, as soon as you read/watch them in a widget.
@dhanniekristanto4 жыл бұрын
tried to follow along but couldn't extends NumberNotifier with StateNotifier. VS Code Intellisense can generate StateNotifierProvider for me when I import the flutter_riverpod in the class, but it won't accept the list of int type. and I couldn't get the state property.
@dhanniekristanto4 жыл бұрын
solved: I need to import state_notifier package
@RobertBrunhage4 жыл бұрын
Sorry, forgot to say that about stateNotifier, glad you found it!
@dhanniekristanto4 жыл бұрын
@@RobertBrunhage thanks for the video, very good explanation. I hope you can create more example on small app like login and fetch data from network.
@7sedma Жыл бұрын
i need to watch on 0.75 speed because of how fast you explain lol but at least you explain it good
@LincolnArrais3 жыл бұрын
I read you 😀
@ismannyb81484 жыл бұрын
I'm going to update my android app state management with Riverpod. I played with it but it was in beta
@RobertBrunhage4 жыл бұрын
Do iiiiit (Said in a Palpatine voice)
@CSniper4 жыл бұрын
When you extend the ConsumerWidget, is it possible to send numberStateProvider as a parameter? I am trying that but my list isn't updating, prob because it's not mutable or something. In the documentation of ConsumerWidget it says: A StatelessWidget that can listen to providers. So it's not possible to send int he numberStateProvider as an argument there.
@RobertBrunhage4 жыл бұрын
I do not think I follow. What is the reason for sending the provider as an argument to another widget when you can just listen to it there?
@CSniper4 жыл бұрын
@@RobertBrunhage Let's say I have file A where I define my numberStateProvider. It's a global variable and is easily accessible inside file A. In file B, I have defined a class that extends consumerWidget and this file needs to reach the numberStateProvider. How would the consumerWidget be able to access the numberStateProvider? Is there a easy way of handling this? Maybe one solution is to add the numberStateProvider to another file C, which I then import to File A and File B?
@RobertBrunhage4 жыл бұрын
And it's not possible to send the provider through the constructor and listen to it in file B?
@CSniper4 жыл бұрын
@@RobertBrunhage I have tried doing that but it doesn't render the newly added items to the list. I am still debugging why it's not working.
@RobertBrunhage4 жыл бұрын
So you watch it in file B? Have not seen the actual implementation of what you are doing but consider opening an issue towards riverpod. Seems like a bug and Remi is really quick to answer!
@RaymondAtivie4 жыл бұрын
What IDE is this and why is your context menu black?
@husseinalmosawi20014 жыл бұрын
This VSCode and is not an IDE
@rann10294 жыл бұрын
Thanks u Sir for this tutorial! Please do riverpod + firebase auth Sir!:)
@citadelonearth79074 жыл бұрын
Please post the source code for your next tutorials, they're insanely helpful. Thank you for this tutorial.
@RobertBrunhage4 жыл бұрын
Have done it for the future tutorials as this one's code wasn't structured in a good way to show source code. But will try to upload it this week anyway!
@citadelonearth79074 жыл бұрын
@@RobertBrunhage Thanks, mate. I've actually copied off the code by pausing the video.
@mohamedayad82083 жыл бұрын
Great
@ikarosouza46803 жыл бұрын
damn that's good
@michaelkroupa69962 жыл бұрын
I know this video is a bit older, but i hope somebody sees this comment and can help me anyways. Currently I'm a big fan of BloC. However i thought i give Riverpod a try, as it is one of the mostly used State Managements within flutter. I actually always try to split my projects in a structure like "Clean Architecture" of Uncle Bob defines. (Data, Domain, Presentation) BloC fits perfectly inside that concept, as it kind of implements my complete Domain Layer. I tried badly to force Riverpod into that structure. So that my Presentation Layer doesn't hold any logic, however i have the feeling i can't do this with riverpod, when i try, riverpod ends up in beeing just nothing more than a dependency injection, i guess this is not the way it is implemented for. Do anyone know some helping Videos/Blogs how to use Riverpod in a structured way, without inserting too much of logic into the UI? It dosn't have to be a Clean Architecture approach, but some sturcture ideas would be cool. Most Riverpod stuff i saw so far was just scratching the surface :/ I would love to see/read about projects with more technical depth :) Greetings Mikro
Жыл бұрын
don't know if you still want this resource, but this video will help you a lot with that kzbin.info/www/bejne/jp_bi3-eqdB5m8k let me know
@idlevandal693 жыл бұрын
00:28 Replay button.. You're welcome..
@Baraka03694 жыл бұрын
I don't understand why u create an UnmodifiableListView 5:15 and trying to .add(value).. :/ What's the benefit ? And on top of that, the documentations says : "This operation is not supported by an unmodifiable list. "
@RobertBrunhage4 жыл бұрын
The UnmodifiableList is just a getter, the list we are actually modifying is a List. We we are doing .add on the normal list but in the UI we can only access the UnmodifiableList which means you can not change the list in the UI section of your app. This is super important because in a ChangeNotifier wehen we make changes, to actually rebuild the UI we MUST call NotifyListeners() which we can not do from the widgets but only the ChangeNotifier. Hope this makes some sense, and a super good question!
@Baraka03694 жыл бұрын
@@RobertBrunhage Thank you really much for this explaination, was tired yesterday and did not noticed the unmodifiable list was a getter of the _numbers list... Thank you again 💪 Subscribed
@mehmetedex2 жыл бұрын
Why use "Provider" when you can just simply put the value there as a const ?
@kibromhs75664 күн бұрын
Tell us the theme you're using
@salmanbehen43844 жыл бұрын
Reddit got me here
@RobertBrunhage4 жыл бұрын
Hmm who could have made that post on Reddit? Hmmmmm 😄 Glad you are here and hope you enjoyed it!
@delarammajestic25023 жыл бұрын
I want the source code
@93Thiagosf2 жыл бұрын
This seemed to me way more complex than using cubits to manage state
@93Thiagosf2 жыл бұрын
But a great tutorial nonetheless
@francescofreddi43744 жыл бұрын
uauu too much informations... i cannot understand when is best to use StreamProvider (for example) instead use ChangeNotifyProvider in real life (always for example)! can you made some video about one singolar Providers with example? iam very greatfull and i think is very usefull for who is not expert (not yet) about Flutter (me :) ) GreatWork!!!!! Thank!
@thruaway50364 жыл бұрын
Here is a simple real life example on when to use StreamProvider and ChangeNotifier: StreamProvider: displaying a social media feed; a stream of data. The app will listen to the stream for new post. ChangeNotifier: changing the state of Like Button. If you press the button it will change the color state to blue instead of grey. Hope these examples will help you visualize when to use these functions on your app.
@tsbaurzhan3 жыл бұрын
Why we need define providers as global functions? I think it's a bad practice.
@jorgechristophergarzasepul32093 жыл бұрын
riverpod doesn't depend of flutter, great!, what is the name? .... flutter_riverpod .... x.x
@md.yeasinsheikh503 жыл бұрын
StateNotifier :(
@repiatx4 жыл бұрын
kinda confusing.
@RobertBrunhage4 жыл бұрын
Thanks for the feedback! Something special you thought that could be improved?
@brokercl3 жыл бұрын
import 'package:flutter_riverpod/flutter_riverpod.dart'; class NumbersNotifier extends StateNotifier { NumbersNotifier() : super([]); void add(int number) { state = [...state, number]; } void delete(int number) { state = [ for (final loopNumber in state) if(number != loopNumber) loopNumber ]; } } final numbersNotifierProvider = StateNotifierProvider((ref) { return NumbersNotifier(); }); The type 'StateNotifierProvider' is declared with 2 type parameters, but 1 type arguments were given. Try adjusting the number of type arguments to match the number of type parameters.dartwrong_number_of_type_arguments