- Padrão para gerenciamento de estados (veio do Javascript).
- Manipulação de streams.
- Evitar que um conjunto de reatividades(ValueNotifier's) seja de díficil manutenção e dificulte o projeto seja escalável
- Obrigar o usuário a realizar uma ação ao invés de somente observar o estado atual.
- Publisher e Subscriber para ouvir o que está contido na store e atualizar o
statedo widget, ou seja, reatividade.
- Lista de funções
- Streams
- Ação
- Reação
- Mudança de estado.
Toda mudança no estado ela causa uma reação e toda ação causa uma mudança do estado que gera por sua vez uma reação. Toda vez que modificar um observable por meio de uma ação por sua vez terá uma reação.
- mobx
- flutter_mobx
- mobx_codegen
- build_runner
- Todo action altera um observável.
- Definação das
variáveisutiliza o decorator:@observable. - Definação dos
actionutiliza o decorator:@action.- Sempre passar por parâmtro as entidades. Ex. User.
- Torna a classe
abstract - Torna a classe privada.
- Extende a classe com
with Store - part
<entity_name>.store.g.dart - Juntar com a parte gerada pelo MobX
class <entity_name>Store = _<entity_name>Store with $<entity_name>Store;
- Executar
flutter packages pub run build_runner build - Envoler o widget que terá o estado modificado com:
Observer(builder: (_) => Widget)