no_ logic_ in_ create_ state
Saiba mais sobre a regra de lint no_logic_in_create_state.
Não coloque nenhuma lógica em createState.
Detalhes
#NÃO FAÇA coloque nenhuma lógica em createState().
As implementações de createState() devem retornar uma nova instância de um objeto State e não fazer mais nada. Como o acesso ao estado é preferencialmente feito pelo campo
widget, também se deve evitar passar dados para objetos State usando parâmetros de construtor personalizados; por isso, o construtor de State não deve receber argumentos.
RUIM:
MyState global;
class MyStateful extends StatefulWidget {
@override
MyState createState() {
global = MyState();
return global;
}
}
class MyStateful extends StatefulWidget {
@override
MyState createState() => MyState()..field = 42;
}
class MyStateful extends StatefulWidget {
@override
MyState createState() => MyState(42);
}
BOM:
class MyStateful extends StatefulWidget {
@override
MyState createState() {
return MyState();
}
}
Ativar
#
Para ativar a regra no_logic_in_create_state, adicione no_logic_in_create_state
em
linter > rules no seu arquivo analysis_options.yaml:
linter:
rules:
- no_logic_in_create_state
Se você usa a sintaxe de mapa YAML para configurar as regras de lint,
adicione no_logic_in_create_state: true em linter > rules:
linter:
rules:
no_logic_in_create_state: true
Salvo indicação em contrário, a documentação neste site reflete Dart 3.13.7. Relatar um problema.
Encontrou essa página sem tradução ou que precisa de correção? Abra uma issue e nos ajude a manter esse site em PT-BR para ajudar pessoas como você.