Создаем портфолио за 1 месяц
К концу месяца: 4 классных проекта в вашем портфолио! Стоимость: 100$. Подробности...
804 of 1024 menu
◀ ▶

Класс UniqueKey

Класс UniqueKey генерирует новый идентификатор при каждом вызове конструктора. Такой ключ не совпадает ни с одним другим UniqueKey. Удобно, когда списку не нужна стабильная идентичность между перестроениями, но нужен свежий State.

Синтаксис

UniqueKey()

Пример

Давайте вставим виджет с UniqueKey в Column:

import 'package:flutter/material.dart'; void main() { runApp( MaterialApp( home: Scaffold( body: Column( children: [ Text( 'abcde', key: UniqueKey(), ), ], ), ), ), ); }

На экране строка 'abcde' получит собственный UniqueKey при каждом запуске.

Пример

Давайте добавим второй Text с другим UniqueKey:

import 'package:flutter/material.dart'; void main() { runApp( MaterialApp( home: Scaffold( body: Center( child: Column( mainAxisSize: MainAxisSize.min, children: [ Text( 'abcde', key: UniqueKey(), ), Text( '12345', key: UniqueKey(), ), ], ), ), ), ), ); }

На экране две подписи 'abcde' и '12345' никогда не сольются в один элемент дерева.

Смотрите также

  • класс ValueKey,
    когда нужен стабильный ключ по данным
  • класс Key,
    базовый тип UniqueKey
  • класс GlobalKey,
    который тоже уникален, но доступен снаружи
  • виджет Column,
    где дочерние виджеты часто получают key
← →
↑
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить