Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Substituir ModularState por State em ResetPasswordTwoPage #345

Open
shonorio opened this issue Jan 11, 2025 · 0 comments
Open

Substituir ModularState por State em ResetPasswordTwoPage #345

shonorio opened this issue Jan 11, 2025 · 0 comments
Labels
dependencies Pull requests that update a dependency file deprecation Para destacar o uso de componentes obsoletos good first issue Good for newcomers refactor Envolve melhorias no código, como substituir o componentes obsoletos

Comments

@shonorio
Copy link
Collaborator

Descrição

A classe ResetPasswordTwoPage atualmente utiliza ModularState para gerenciar o estado e obter a instância do ResetPasswordTwoController. A proposta é substituir ModularState por State e injetar o ResetPasswordTwoController via passagem de parâmetro no construtor.

Motivação

  • Remover a dependência direta do flutter_modular para gerenciar o estado.
  • Facilitar a testabilidade da classe, permitindo a injeção de dependências de forma explícita.
  • Seguir boas práticas de injeção de dependência, tornando o código mais modular e desacoplado.

Alterações Propostas

  1. Substituir ModularState por State na classe _ResetPasswordTwoPageState.
  2. Adicionar o ResetPasswordTwoController como parâmetro no construtor da classe ResetPasswordTwoPage.
  3. Remover a dependência do flutter_modular para obter o controller.

Código Atual

class ResetPasswordTwoPage extends StatefulWidget {
  const ResetPasswordTwoPage({Key? key, this.title = 'ResetPasswordTwo'})
      : super(key: key);

  final String title;

  @override
  _ResetPasswordTwoPageState createState() => _ResetPasswordTwoPageState();
}

class _ResetPasswordTwoPageState
    extends ModularState<ResetPasswordTwoPage, ResetPasswordTwoController>
    with SnackBarHandler {
  // Código atual...
}

Código Proposto

class ResetPasswordTwoPage extends StatefulWidget {
  const ResetPasswordTwoPage({
    Key? key,
    this.title = 'ResetPasswordTwo',
    required this.controller,
  }) : super(key: key);

  final String title;
  final ResetPasswordTwoController controller;

  @override
  _ResetPasswordTwoPageState createState() => _ResetPasswordTwoPageState();
}

class _ResetPasswordTwoPageState extends State<ResetPasswordTwoPage>
    with SnackBarHandler {
  late final ResetPasswordTwoController controller;

  @override
  void initState() {
    super.initState();
    controller = widget.controller;
    _disposers = [
      _showProgress(),
      _showErrorMessage(),
    ];
  }

  // Restante do código...
}

Impacto

  • A instância do ResetPasswordTwoController deve ser criada e passada para a ResetPasswordTwoPage no local onde a página é instanciada.
  • Remoção da dependência do flutter_modular para gerenciar o estado.

Testes

  • Verificar se a injeção do controller está funcionando corretamente.
  • Garantir que o estado da página e as reações do MobX continuem funcionando como esperado.

Observações

  • A alteração pode exigir ajustes nos locais onde a ResetPasswordTwoPage é instanciada, para passar o controller corretamente.
@shonorio shonorio added dependencies Pull requests that update a dependency file deprecation Para destacar o uso de componentes obsoletos refactor Envolve melhorias no código, como substituir o componentes obsoletos good first issue Good for newcomers labels Jan 11, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
dependencies Pull requests that update a dependency file deprecation Para destacar o uso de componentes obsoletos good first issue Good for newcomers refactor Envolve melhorias no código, como substituir o componentes obsoletos
Projects
None yet
Development

No branches or pull requests

1 participant