Summary
Keywords
Full Transcript
Playlist: Curso Grátis de FLUTTER e DART Completo https://www.youtube.com/playlist?list=PL5EmR7zuTn_aX0pG4oWTyKKQT25Hkq2XG Gerenciamento de estado refere-se ao gerenciamento do estado de um ou mais controles de interface do usuário, como campos de texto, botões OK, botões de opção, etc., em uma interface gráfica com o usuário. Nesta técnica de programação de interface de usuário, o estado de um controle de interface do usuário depende do estado de outros controles de interface do usuário. Por exemplo, um controle de UI gerenciado pelo estado, como um botão, estará no estado ativado quando os campos de entrada tiverem valores de entrada válidos e o botão estará no estado desativado quando os campos de entrada estiverem vazios ou tiverem valores inválidos. À medida que as aplicações crescem, isso pode acabar se tornando um dos problemas mais complexos no desenvolvimento da interface com o usuário. setState InheritedWidget & InheritedModel Provider & Scoped Model Redux BLoC / Rx mobX stateless Widget Um widget que não requer estado mutável. Um widget sem estado é um widget que descreve parte da interface do usuário construindo uma constelação de outros widgets que descrevem a interface do usuário mais concretamente. O processo de construção continua recursivamente até que a descrição da interface do usuário seja totalmente concreta (por exemplo, consiste inteiramente em RenderObjectWidgets, que descrevem RenderObjects concretos). O widget sem estado é útil quando a parte da interface do usuário que você está descrevendo não depende de nada além das informações de configuração no objeto em si e do BuildContext no qual o widget é insuflado. Para composições que podem mudar dinamicamente, e. devido a ter um estado interno controlado pelo relógio, ou dependendo de algum estado do sistema, considere o uso de StatefulWidget. stateful Widget Um widget que tenha estado mutável. Estado é a informação que pode ser lida sincronamente quando o widget é construído e pode mudar durante a vida útil do widget. É responsabilidade do implementador do widget garantir que o Estado seja notificado imediatamente quando esse estado for alterado, usando State.setState. Um widget com estado é um widget que descreve parte da interface do usuário, construindo uma constelação de outros widgets que descrevem a interface com o usuário mais concretamente. O processo de construção continua recursivamente até que a descrição da interface do usuário seja totalmente concreta (por exemplo, consiste inteiramente em RenderObjectWidgets, que descrevem RenderObjects concretos). Os widgets com estado são úteis quando a parte da interface do usuário que você está descrevendo pode mudar dinamicamente, por exemplo, devido a ter um estado interno controlado pelo relógio ou dependendo de algum estado do sistema. Para composições que dependam apenas das informações de configuração no objeto em si e do BuildContext no qual o widget é inflado, considere usar o StatelessWidget. setState Notifica a estrutura que o estado interno deste objeto foi alterado. Sempre que você alterar o estado interno de um objeto State, faça a alteração em uma função que você passa para setState. setState(() { _myState = newValue }); Sempre que você alterar o estado interno de um objeto State, faça a alteração em uma função que você passa para setState. Chamar setState notifica a estrutura de que o estado interno desse objeto foi alterado de uma maneira que pode afetar a interface com o usuário nesta subárvore, o que faz com que a estrutura planeje uma construção para esse objeto State. Se você apenas alterar o estado diretamente sem chamar setState, a estrutura pode não planejar uma construção e a interface do usuário dessa subárvore pode não ser atualizada para refletir o novo estado.
