flutter 使用嵌套StateNotifier的交互式项目列表

1hdlvixo  于 2023-01-02  发布在  Flutter
关注(0)|答案(1)|浏览(101)

你认为在其他StateNotifier的状态中有一个StateNotifier列表可以吗?例如:

class ListOfItems extends StateNotifier<ListState> {
  void doSomethingWithList() {
    // update state of list -> rebuild ListWidget
  }

  void doSomethingWithItem(int itemIndex) {
    final item = state.items[itemIndex];
    item.doSomethingWithItem();
  }
}

class ListState {
  final List<Item> items;
  // some other properties

  ListState(this.items);
}

class Item extends StateNotifier<ItemState> {
  // can be called directly from the ItemWidget (on a button press) or from the ListOfItems
  void doSomethingWithItem() {
    // update state of item -> rebuild ItemWidget
  }
}

class ItemState {
  // some properties
}

我试过了,在我看来效果很好,会不会有陷阱?

carvr3hs

carvr3hs1#

基于SOLID原则,这可能看起来有点奇怪。但是,它会工作得很好。重要的是不要在类之外更改“其他人”的状态。

相关问题