Então pessoal lá no meu outro post que você pode conferir seguindo clicando aqui deu pra ver que o Flutter Bloc é um dos requisitos mais solicitados dentro das vagas publicadas pelos hunters quando estão procurando desenvolvedores Flutter. Vamos entender um pouquinho da estrutura do BloC que pode e vai nos auxiliar muito no dia a dia, bem... Pelo menos para ser notados pelos recrutadores temos essa certeza né?!
Vamos lá!
Enquanto no Provider temos o gerenciamento de estados bem próximos ali dos Widgets, o BloC veio para dar uma mexida nisso, uma vez que poderemos separar o gerenciamento de estado em si da interface visual com que o usuário estará interagindo.
Como assim separar?! Esse BloC chega assim como não quer nada e já vem colocando as coisas fora do lugar? Pois é meu caro amigo, se você parar pra pensar as nossas views não deveria ter a responsabilidade de saber o que deveria ser exibido para o usuário, ela tem responsabilidade apenas de buildar e exibir.
Se você parar pra pensar vamos supor um caso que acontece demais, uma tela de lista de contatos que comunica-se com o back-end para trazer os dados do contato e mostrar para o usuário. Se você pensar rapidamente você pode até pensar que isso é apenas uma tela né?! Mas analisando direitinho você enxerga 3 telas dentro dessa.
Tela é toda interface gráfica que entra em contato com o usuário.
1 - Tela de loading enquanto o back-end processa a resposta;
2 - Tela com a lista de contatos;
3 - Tela de erro caso não obtermos o que aguardamos na resposta do back-end;
import 'package:equatable/equatable.dart';
import 'package:flutter/foundation.dart';
class HomeState extends Equatable {
@override
List<Object> get props => [];
}
class HomeLoadingState extends HomeState {}
class HomeErrorState extends HomeState {
final String message;
HomeErrorState({@required this.message});
}
class HomeStateLoaded extends HomeState {
final List<String> list;
HomeStateLoaded({@required this.list});
}
class HomeStateEmptyList extends HomeState {}
Para esse estudo criei um repositório para pôr em prática os conhecimentos em Bloc que pode ser acessado clicando aqui
Top comments (0)