Kamushek
Kamushek

Reputation: 178

Notification to adjacent widget

I have a widget that contains a "save" button. After pressing that button several other widgets (not only ancestor ones) must save its state to the file. I don't know how to inform them. What is the best way to achieve that in flutter? I was thinking about using Notification in the "save" widget, closest shared ancestor would contain a NotificationListener that triggers an event to which every widget will subscribe. For me, it doesn't look like a solution.

Upvotes: 0

Views: 104

Answers (1)

Nuqo
Nuqo

Reputation: 4081

Provider is the recommended way to do State Management for apps of all sizes. -–Chris Sells – Product Manager, Flutter. June 19, 2019

It's pretty complicated at first, best to check out Simple app state management

The ChangeNotifier uses the notifyListeners function whenever there is any change in the class:

class ChangeNotifierModel extends ChangeNotifier {
  String stringThatChanges = 'startValue';

  void changeTheString(String value) {
    stringThatChanges = value;

    notifyListeners();
  }
}

The only code that is specific to ChangeNotifier is the call to notifyListeners(). Call this method any time the model changes in a way that might change your app’s UI.

I'm pretty new to Flutter myself, but the way I understand it so, it kinda acts like a wrapper, e.g. wrapping the child of main.dart

MultiProvider(
   providers: [
      ChangeNotifierProvider(create: (_) => SingleNotifier())
   ],
   child: MyApp(),
));

don't forget the dependencies

dependencies:
  provider: ^4.3.2+2

Upvotes: 1

Related Questions