Я использую StatefulWidget, конструктор которого содержит объект, например
class X extends StatefulWidget {
X({this.o});
Object o;
...
}
Как это иногда бывает, этот объект o
изменяется, но виджет X
не обновляется, поэтому мне пришлось добавить ObjectKey в конструктор:
class X extends StatefulWidget {
X({this.o, this.key});
Object o;
ObjectKey key;
...
}
Теперь каждый раз, когда я вызываю конструктор, мне приходится вызывать X(o: o, key: ObjectKey(o));
. Есть ли лучший способ сделать это? Было бы неплохо, если бы сам конструктор управлял этим, например
class X extends StatefulWidget {
X({this.o, this.key = ObjectKey(o)});
Object o;
ObjectKey key;
...
}
. Но поскольку ObjectKey(o)
не является постоянным выражением, его нельзя использовать в качестве параметра по умолчанию. Есть ли другой способ?