Size: a a a

Dart & Flutter по-русски

2020 May 27

AK

Artem Krupp in Dart & Flutter по-русски
Во первых стейт живёт дольше виджета
То есть к стейту могут присоединяться несколько виджетов за весь лайфсайкл
источник

AK

Artem Krupp in Dart & Flutter по-русски
Поэтому виджеты ридонли
источник

C

Cole in Dart & Flutter по-русски
class PathWidget extends StatefulWidget {
VoidCallback _callback;

@override
 _PathWidgetState createState() => _PathWidgetState();
}

class _PathWidgetState extends State<PathWidget> {
@override
 void initState() {
   widget._callback = () => toggleActive(); // тут значение даю
   super.initState();
 }
}
источник

AK

Artem Krupp in Dart & Flutter по-русски
А как ты потом этот колбек используешь?
источник

C

Cole in Dart & Flutter по-русски
у меня есть List<PathWidget>. делаю форич elem._callback.call();
источник

AK

Artem Krupp in Dart & Flutter по-русски
Плохо-плохо-плохо
источник

C

Cole in Dart & Flutter по-русски
через GlobalKey лучше?
источник

AK

Artem Krupp in Dart & Flutter по-русски
Что ты сделать хочешь вообще поясни
источник

AK

Artem Krupp in Dart & Flutter по-русски
Вот есть у тебя лист виджетов
источник

C

Cole in Dart & Flutter по-русски
Переслано от Cole
пример: Лист, в нем виджеты по имени Х.
при нажатии на Х, я хочу поменять некоторые вариаблы на стейтах других Х и вызвать setState, чтобы проигралась некая анимация.
для этого я нахожу ancestor. на ансесторе у нас запомнены все виджеты Х. однако ХЕР ПОЛУЧИШЬ ИХ СТЕЙТ
источник

AK

Artem Krupp in Dart & Flutter по-русски
Тебе нужно поменять виджет
источник

AK

Artem Krupp in Dart & Flutter по-русски
Был виджет с параметром а
источник

AK

Artem Krupp in Dart & Flutter по-русски
Стал виджет с параметром б
источник

C

Cole in Dart & Flutter по-русски
это его перерисует
источник

AK

Artem Krupp in Dart & Flutter по-русски
Нет, не перерисует
источник

AK

Artem Krupp in Dart & Flutter по-русски
Смотря что ты вообще делаешь этим параметром
источник

C

Cole in Dart & Flutter по-русски
в общем я не понимаю, что значит "тебе нужно поменять виджет". удалить старый, сделать новый?
источник

C

Cole in Dart & Flutter по-русски
но это его перерисует
источник

AK

Artem Krupp in Dart & Flutter по-русски
Пересобрать дерево тебе нужно
источник

AK

Artem Krupp in Dart & Flutter по-русски
Была одна конфигурация стала другая
источник