Flutter mnie dopadł i ma m pytanie o bloc.
Rozumiem, że drzewo widgetów wygląda tak, że mamy główny widget (główne okno), który w body ma BlocProvider.
BlocProvider w child ma widget, powiedzmy, Stack, w którym mamy BlocBuilder, który wstawia kawałki tego widgeta w zlaeżności od jakiegos stanu.
Tak to można zrozumieć?
Flutter bloc
- Rejestracja: dni
- Ostatnio: dni
- Postów: 1065
- Rejestracja: dni
- Ostatnio: dni
- Postów: 9
Klasa która jest Bloc, umożliwia wystawienie strumienia do nasłuchiwania, np. po to, by wyrenderować od nowa widget gdy zmieni się stan. Tu warto byś zadał sobie pytanie co z tego wynika, dlaczego właśnie tak przekazywane są wyniki, wtedy łatwiej pojmiesz o co tu w ogóle chodzi.
Klasa BlocProvider daje Ci podstawę, abyś mógł go odgórnie napakować go instancjami różnych bloc, by później móc wyciągać instancję obiektu w dowolnym miejscu. Dzięki temu nie musisz jawnie w środku wszystkich widgetów robić pośredniego przekazywania.
Klasa BlocProvider to widget, który wyciąga bloc z providera, nasłuchuje go i wraz z otrzymanym stanem renderuje Ci na nowo widget.
- Rejestracja: dni
- Ostatnio: dni
- Postów: 4883
ja polecam tą libkę
https://pub.dev/packages/get
moim zdaniem łatwiejsza w użyciu niż streamy
- Rejestracja: dni
- Ostatnio: dni
- Postów: 1065
@pan_plantacji: Czyli tak jak napisałem :)
Ideę to ja rozumiem, chodziło mi o konkretne zastosowanie dla odświeżania części widgetów.
Klasa BlocProvider to widget, który wyciąga bloc z providera, nasłuchuje go i wraz z otrzymanym stanem renderuje Ci na nowo widget.
Tu miał być BlocBuilder, tak?
- Rejestracja: dni
- Ostatnio: dni
- Lokalizacja: Jastrzębie-Zdrój
- Postów: 2180
BLoC to tragedia. Tak jak ktoś na forum napisał, kompletne przeinżynierowanie i wymyślanie koła na nowo. Potrzebowałem się sam przekonać na własnej skórze. Kodu pierdyliard linii, a jedyne co daje to state management. Zdecydowanie lepszym rozwiązaniem jest Riverpod - Provider, but different
PS.
Nikt nigdzie nie był w stanie mi pokazać przykładu formularza z wykorzystaniem BLoC, gdzie potrzebne jest więcej danych z API niż tylko wczytywanie listy.
[Flutter] BLoC - więcej niż jeden "provider" do obsługi formularzy
- Rejestracja: dni
- Ostatnio: dni
- Postów: 1065
A GetX widziałeś?
- Rejestracja: dni
- Ostatnio: dni
- Lokalizacja: Jastrzębie-Zdrój
- Postów: 2180
No właśnie już mi wcześniej przeleciało gdzieś przed oczami ale stwierdziłem, że nie warte uwagi. Z tego co widzę (na pierwszy rzut oka) to ta biblioteka to dar bogów i wydaje się być lepsza niż riverpod. Cieszy mnie to, że powstaje coraz więcej bibliotek do Fluttera. Wszystko wskazuje na to, że może coś z tego będzie ;-)
- Rejestracja: dni
- Ostatnio: dni
- Lokalizacja: Jastrzębie-Zdrój
- Postów: 2180
@jacek.placek: nie mam. Ale mieliśmy 15 podejść do www do tego problemu tylko z czasem jest kiepsko. Problem z mobilką do optimy jest taki, że wdrożenie wymaga serwera z API u klienta. Potrzebujesz centrale żeby cokolwiek działało. Stawianie jakiś iis'ów, przekierowanie portów, firewalle... W łeb sobie idzie strzelić.