FilledStacks / flutter-tutorials

The repo contains the source code for all the tutorials on the FilledStacks Youtube channel.
MIT License
4.74k stars 1.76k forks source link

Is there any way to use viewModel in didUpdateWidget? #178

Open AsheKR opened 1 year ago

AsheKR commented 1 year ago

When the arguments received from the widget changed, we wanted to clear the existing listener for the pagingController and populate a new one. How can i do this?

@override
void didUpdateWidget(convariant MyWidget oldWidget) {
  super.didUpdateWidget(oldWidget);

  if (oldWidget.path != widget.path) {
    _pagingController.removePageRequestListener(_pageRequestListener!);
    _pageRequestListener = null;

    _pageRequestListener = (pageKey) async {
      // This is where we use viewModel.
    }

    _pagingController.addPageRequestListener(_pageRequestListener!);
    _pagingController.refresh();
  }
}
FilledStacks commented 1 year ago

@AsheKR we've never had this requirement so it's not built into Stacked at the moment. This came up a few times in different ways. For instance getting life cycle callbacks in the viewmodel.

I'll add this to the list of features but right now we have nothing to facilitate this.