I need to watch this 200 times to understand it all .. This video contains the most amount of information one can get in 20 minutes on UA-cam. Good Job Marcus.
14:42 Breaking changes In order to get the state of the Exception provider, you must have to use .notifier like this: _read(itemListExceptionProvider.notifier).state = e;
6:50 For anyone watching in current times, HookWidget is depreciated and should be replaced with HookConssumerWidget. With that the first few lines of the HomeScreen class should look more like this: class HomeScreen extends HookConsumerWidget { @override Widget build(BuildContext context, WidgetRef ref) { final authControllerState = ref.watch(authControllerProvider);
I love this kind of tutorials. It feels more like Fireship or Robert Brunhage videos. I hope I can see more of them in the future. However, I have to admit I enjoy way more your 'Apps from Scratch' tutorials. I'm new to Flutter and be able to see somebody think and guide me through everything it's amazing.
7:11 Breaking changes on the sign-Out button To read the method signOut() you must use the ref instead of the context like this: ref.read(AuthControllerProvider.notifier).signOut();
Hi, I have some questions, I use a lot of autocomplete and 2 were different of what you use: 1 - cloud firestore - firestore core, what is the difference 2 - In the ItemListController, before create the variables, it creates this construtor, again what is the diference? ItemListController(AsyncValue state) : super(state); Your constructor ItemListController(this._read, this._userId) : super(AsyncValue.loading()); It's set to loading, why? And what is extensions? extension FirebaseFirestoreX on FirebaseFirestore
Thanks for that.You are very clever. Two questions. 1) If we manipulate an item directly from Firebase, does the UI listen this changes, so it updates self automatically? How do we do that? 2) how we separate all logic from UI establishing model-view-viewmodel (MVVM). I want to reach view model from a view(UI) for example with model.itemList, model.countItem, model.getItemList() something like that? If you provide an architecture like MVVM using the same tools (RiverPod, Firebase, Freeze, Exception mechanism etc., listening the database, caching mechanism etc.) this will be very huge achievement.
Super useful video about setting structure and architecture for your app! Do you have some video or course how to solve Firebase data access layer in generic way. That CRUD operations and streaming results are done in in generic way and can be used for all the collections etc. Maybe some clever way with extensions or inheritance etc.
Awesome! Next idea: Continue from here and implement a way for me to share this list with my wife on her own account. We need to convert to streams, model our data for shared access, figure out invites/linking/ownership… Would be a pretty cool exercise.
The cloud_firestore API has been updated and you need to specify the type of data you're getting from the DocumentSnapshot. This means the line > final data = doc.data()!; in the item model, needs to be changed to > final data = doc.data()! as Map; or you'll get the error "The argument type 'Object' can't be assigned to the parameter type 'Map'."
Hi, thanks for the video @ Marcus Ng . May I know , how can we do testing for filtered list either of any testing method i.e. unit/widget/integration ? Thanks
Thanks for the great tutorial! I got this error message while implementing the login page. any idea why? "'package:riverpod/src/framework/base provider.dart': failed assertion: line 944 pos 7: 'exposedvalue is listened': a provider tried to assign `null` to a non-nullable `exposedvalue`"
Good day. I liked your lessons. Could you take a lesson on how to make a mobile application on the topic of ecology? For example, the application how to improve the ecology in the place where you live, having good habits, can be done in a playful way. And so on. What do you think? It is on Flutter in the Dart language. After all, the topic of ecology is more relevant than ever, you will help a lot if you do a lesson
Could you make a follow up on how to implement more than anonymous login (like the normal email, google, etc.) I'm trying to port my bloc logic but i cannot get my head around it
factory Item.fromDocument(DocumentSnapshot doc){ final data=doc.data()!; return Item.fromJson(data).copyWith(id:doc.id); this line gives an error message The argument type 'Object?' can't be assigned to the parameter type 'Map'
I need to watch this 200 times to understand it all .. This video contains the most amount of information one can get in 20 minutes on UA-cam. Good Job Marcus.
If you need 200 times to understand it, that does not speak good for the video
@@dennisbarzanoff9025 or doesn’t speak good for my intellect
@@adilbasharat lol teacher vs student
@@adilbasharat i would say this vid requires a lot of prev knowledge and experience. It's advanced.
You need tp be able to relate to certain things
@@dennisbarzanoff9025 I understand it now and implemented it already in my app. Watched it about 200/10 times in order to do so 😄
14:42 Breaking changes
In order to get the state of the Exception provider, you must have to use .notifier like this:
_read(itemListExceptionProvider.notifier).state = e;
This is actually the most valuable video i have ever seen on youtube until now. 🤩 Great work !
@@ExtraServingsBTS can you do better ? I guess not.
6:50 For anyone watching in current times, HookWidget is depreciated and should be replaced with HookConssumerWidget. With that the first few lines of the HomeScreen class should look more like this:
class HomeScreen extends HookConsumerWidget {
@override
Widget build(BuildContext context, WidgetRef ref) {
final authControllerState = ref.watch(authControllerProvider);
is the rest basically the same?
Great answer, thank you
Thanks Kenny !!!
I love this kind of tutorials. It feels more like Fireship or Robert Brunhage videos. I hope I can see more of them in the future. However, I have to admit I enjoy way more your 'Apps from Scratch' tutorials. I'm new to Flutter and be able to see somebody think and guide me through everything it's amazing.
YES!!! thank you so much! please create more tutorials with Riverpod, Firebase, Hooks, and Freezed
7:11 Breaking changes on the sign-Out button
To read the method signOut() you must use the ref instead of the context like this:
ref.read(AuthControllerProvider.notifier).signOut();
There hasbeen breaking changes in StateNotifierProvider, the code should be final authControllerProvider = StateNotifierProvider
Very useful, thanks
I love Riverpod + Freezed, hope to see more videos with them inside.
This video is one of the best about the topic currently, thank you
I just found out this channel. I can't believe how lucky I am to have found such an expert flutter developer. Thank you!
Thanks for another one Marcusng
What a great video! Riverpod + Fluter hooks + Freezed is a really powerful combination! Thank you for sharing your knowledge! 🙏🏻🙌🏻
Working through the tutorial now - really great stuff. Thanks!
hooks_riverpod automatically pulls in flutter_hooks and all the riverpod stuff. I let the transitive dependencies take care of that.
the best video about flutter riverpod hook firebase
Loving the recent activity from you
This video is absolutely amazing, thank you!!!
Dude, thank you so much for this content! It's a huge help for me now!
Me putting on repeat to see more ads so you can get some money from me
Thanks for your sharing! I learn from this course a lot.
I learn much from your video man!, thx much
Great materials actually
Hi, I have some questions, I use a lot of autocomplete and 2 were different of what you use:
1 - cloud firestore - firestore core, what is the difference
2 - In the ItemListController, before create the variables, it creates this construtor, again what is the diference?
ItemListController(AsyncValue state) : super(state);
Your constructor
ItemListController(this._read, this._userId) : super(AsyncValue.loading());
It's set to loading, why?
And what is extensions?
extension FirebaseFirestoreX on FirebaseFirestore
I've problem in option 2
Simple, direct, informative
love this tutorial
Thanks for that.You are very clever. Two questions. 1) If we manipulate an item directly from Firebase, does the UI listen this changes, so it updates self automatically? How do we do that? 2) how we separate all logic from UI establishing model-view-viewmodel (MVVM). I want to reach view model from a view(UI) for example with model.itemList, model.countItem, model.getItemList() something like that? If you provide an architecture like MVVM using the same tools (RiverPod, Firebase, Freeze, Exception mechanism etc., listening the database, caching mechanism etc.) this will be very huge achievement.
Super useful video about setting structure and architecture for your app!
Do you have some video or course how to solve Firebase data access layer in generic way. That CRUD operations and streaming results are done in in generic way and can be used for all the collections etc. Maybe some clever way with extensions or inheritance etc.
Awesome! Next idea: Continue from here and implement a way for me to share this list with my wife on her own account. We need to convert to streams, model our data for shared access, figure out invites/linking/ownership… Would be a pretty cool exercise.
The cloud_firestore API has been updated and you need to specify the type of data you're getting from the DocumentSnapshot.
This means the line
> final data = doc.data()!;
in the item model, needs to be changed to
> final data = doc.data()! as Map;
or you'll get the error "The argument type 'Object' can't be assigned to the parameter type 'Map'."
This is how you write beautiful code.
This video is Very helpful
Hi, thanks for the video @
Marcus Ng . May I know , how can we do testing for filtered list either of any testing method i.e. unit/widget/integration ? Thanks
Hi @Marcus, I really like the content. Do you have plan to include Riverpod into your Flutter courses? Thanks.
Thanks for the great tutorial!
I got this error message while implementing the login page. any idea why?
"'package:riverpod/src/framework/base provider.dart': failed assertion: line 944 pos 7: 'exposedvalue is listened': a provider tried to assign `null` to a non-nullable `exposedvalue`"
Can you do a tutorial on how to implement google maps with riverpod and have the initial camera position go to users address from friebase?
What is the best way to retrieve an Item and access its name (item.name) using the itemListController if i know the item id ?
Good day. I liked your lessons. Could you take a lesson on how to make a mobile application on the topic of ecology? For example, the application how to improve the ecology in the place where you live, having good habits, can be done in a playful way. And so on. What do you think? It is on Flutter in the Dart language. After all, the topic of ecology is more relevant than ever, you will help a lot if you do a lesson
You made me feel like I have to relearn how to code again :'(
Could you make a follow up on how to implement more than anonymous login (like the normal email, google, etc.) I'm trying to port my bloc logic but i cannot get my head around it
Nice code quality
Hi Marcus Ng, I am just curious, what is the best or what State Management that is very useful for you and why?
What plugin is putting the inline error descriptions in vs code?
@@MarcusNg was looking for this for so long.
The Reader Type in 3:46 is not in Riverpod 2.0. Can anyone tell me the fix??
old:
final Reader _read;
_read(*);
new:
final Ref _ref;
_ref.read(*);
My Item widget is stuck on the CircularProgressIndicator... Please help!!
What software is used for intro video?
thanks for the video
was going well ... until you used freezed to generate all those methods. I'm still struggling to know what they are used for.
lol your video is like fireship's video :D
I'm at a lose why there is an auth_controller file. All it seems to do is repeat what what is in the auth_repository file.
make videos about updated riverpod pleasee
I'm not sure why your website loads without any CSS while I'm connected to my broadband but is perfectly fine on my mobile network
Why you created abstract repository if you hardcoding firebase repository in your provider?
for unit testing
the latest riverpod breaks this, is it possible to see the changes with latest riverpod?
@@MarcusNg your awesome
@@MarcusNg source code link please. Great tutorial btw
factory Item.fromDocument(DocumentSnapshot doc){ final data=doc.data()!; return Item.fromJson(data).copyWith(id:doc.id); this line gives an error message The argument type 'Object?' can't be assigned to the parameter type 'Map'
Any leads on this ? I have the same issue
You can cast it during assignment. This fixed the issue for me.
final data = doc.data()! as Map;
0:50 Iphone 13 O_o
The code is notworking please update
How about a Firebase GetX paid course?
getX => no.
@@blablablabla29382 Why?
@@leoingson Cancer community spamming to use it. Didn't understand why...
How to make flutter calculator
Cool
Are your courses up to date with Flutter 2.0 ( Null Safety )? I ask because, as we all know, Null Safety broke a lot of these UA-cam video tutorials.
still tooooo difficult please make a simple flutter social app that is easy and simple basic
Based on admin role
@@purushottampk4530 yeah please :*
Yes it might be difficult but making a social app doesn't make anything more simple..
Can you do one with changenotifier instead of statenotifier ?