Find the Best Cosmetic Hospitals

Explore trusted cosmetic hospitals and make a confident choice for your transformation.

“Invest in yourself — your confidence is always worth it.”

Explore Cosmetic Hospitals

Start your journey today — compare options in one place.

What is the difference between stateless and stateful widgets? >>Flutter.

I am learning Dart/flutter and trying to understand how Widgets system works and I found out some useful things, hope it helps you too.

Actually There are 3 kind of widgets, not just 2.

  • Stateful widget
  • Stateless widget
  • Inherited widget
Stateful Vs stateless
Stateful Vs stateless

Stateless Widget

A stateless widget is like a constant. It is immutable. If you want to change what is displayed by a stateless widget, you’ll have to create a new one.

Stateless widget are useful when the part of the user interface you are describing does not depend on anything other than the configuration information in the object itself and the BuildContext in which the widget is inflated. For compositions that can change dynamically, e.g. due to having an internal clock-driven state, or depending on some system state, consider using StatefulWidget.

Stateful widgets

Stateful widgets are the opposite. They are alive and can interact with the user. Stateful widgets have access to a method named setState, which basically says to the framework “Hello, I want to display something else. Can you redraw me please ?”.

StatefulWidget instances themselves are immutable and store their mutable state either in separate State objects that are created by the createState method or in objects to which that State subscribes, for example, Stream or ChangeNotifier objects, to which references are stored in final fields on the StatefulWidget itself.

The framework calls createState whenever it inflates a StatefulWidget, which means that multiple State objects might be associated with the same StatefulWidget if that widget has been inserted into the tree in multiple places. Similarly, if a StatefulWidget is removed from the tree and later inserted into the tree again, the framework will call createState again to create a fresh State object, simplifying the lifecycle of State objects

Inherited Widget

Finally, Inherited widget is a mixt of both worlds. It is immutable and stateless. But another widget (whatever it is) can subscribe to that inherited widget. Which means that when you replace your inherited widget by a new one, all the widgets that has subscribed to the old one will be redrawn.

In the end, a stateful widget will usually be used as a Controller. A stateless widget will be used as a View. And the inherited widget will be your configuration file or your Model.

Stateless widgets are immutable, meaning that their properties can’t change — all values are final.

Stateful widgets maintain state that might change during the lifetime of the widget. Implementing a stateful widget requires at least two classes: 1) a StatefulWidget class that creates an instance of 2) a State class. The StatefulWidget class is, itself, immutable, but the State class persists over the lifetime of the widget.

Find Trusted Cardiac Hospitals

Compare heart hospitals by city and services — all in one place.

Explore Hospitals

Related Posts

Ansible: Deep Dive into Jinja2 Ansible Template with example

Introduction to Ansible Templates and Jinja2 Ansible templates are powerful tools for creating dynamic configuration files and scripts based on variables and logic. Templates in Ansible use…

Read More

Complete User Guide for 404 Errors

Introduction A 404 error (also known as “404 Not Found”) is an HTTP status code indicating that a requested webpage cannot be found on the server. This…

Read More

What is Flutter and use cases of Flutter?

What is Flutter? Flutter is an open-source UI software development toolkit developed by Google. It is applied for building natively compiled applications for mobile, web, and desktop…

Read More

What is SQL Server and use cases of SQL Server?

What is SQL Server? SQL Server, developed by Microsoft, is a relational database management system (RDBMS) that is designed to store and retrieve data requested by other…

Read More

Terrafrom – Example Code for remote-exec, local-exec & file provisioner

Rajesh Kumar I’m a DevOps/SRE/DevSecOps/Cloud Expert passionate about sharing knowledge and experiences. I have worked at Cotocus. I share tech blog at DevOps School, travel stories at…

Read More

What is SQL and use cases of SQL?

What is SQL? SQL stands for Structured Query Language. It is a powerful programming language that allows users to interact with relational databases. It provides a standardized…

Read More