Key class abstract
A Key is an identifier for Widgets, Elements and SemanticsNodes.
A new widget will only be used to update an existing element if its key is the same as the key of the current widget associated with the element.
Typically, if no key is provided, the default value is null, meaning the widget is considered unkeyed. In this case, Flutter matches widgets based on their Widget.runtimeType and position in the tree during rebuilds.
Keys must be unique amongst the Elements with the same parent.
Subclasses of Key should either subclass LocalKey or GlobalKey.
A common mistake is to rebuild the widget tree in such a way that Flutter attaches the incorrect State object to an unkeyed StatefulWidget. This can often be solved by using an appropriate Key on the StatefulWidget.
See ValueKey, which explains how that class can be used as a solution to a common case of this problem.
See also:
- Widget.key, which discusses how widgets use keys.
Constructors
- Key(String value)
-
Construct a ValueKey<String> with the given String.
constfactory
- Key.empty()
-
Default constructor, used by subclasses.
const
Properties
- hashCode → int
-
The hash code for this object.
no setterinherited
- runtimeType → Type
-
A representation of the runtime type of the object.
no setterinherited
Methods
-
noSuchMethod(
Invocation invocation) → dynamic -
Invoked when a nonexistent method or property is accessed.
inherited
-
toString(
) → String -
A string representation of this object.
inherited
Operators
-
operator ==(
Object other) → bool -
The equality operator.
inherited