Introduction

One should separate it's UI from the Business Logic.

In Flutter, data moves from top to bottom.

State is just data that changes over the lifecycle of the app.

Two state types to consider are ephemeral state, also known as UI state and app state.

As the app grows in complexity, one is likely to encounter bugs directly related to the way data flows through your app via user input.

Managing the state changes carefully helps you avoid soul-crushing bugs that only happen at runtime and can also help optimize performance.

Many solutions to state management exist some are built into flutter and others are available as an external library these includes: