• Key is an identifier for WidgetsElements 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.
  • Keys must be unique amongst the Elements with the same parent.
  • Subclasses of Key should either subclass LocalKey or GlobalKey.
  • Keys are useful when manipulating collections of widgets of the same type.
  • If you find yourself addingremoving, or reordering a collection of widgets of the same type that hold some state, then, you should use a key.