📜  provider flutter pub - Dart (1)

📅  最后修改于: 2023-12-03 15:33:48.482000             🧑  作者: Mango

Provider Flutter Pub - Dart

Provider is a Flutter package that makes state management simple and efficient. With Provider, developers can easily manage app state and access it throughout their app, without the need for complex and cumbersome frameworks.

Getting Started

To use Provider, you'll need to add it to your Flutter project. You can do this by adding the following to your pubspec.yaml file:

dependencies:
  flutter:
    sdk: flutter
  provider: ^5.0.0

After adding this to your pubspec.yaml file, run flutter pub get to download and install the package.

How it Works

The basic idea behind Provider is to simply declare a new instance of a class that holds the app state, and then use that instance to create widgets that depend on that state. Here's an example of what that might look like:

class MyModel with ChangeNotifier {
  String _name = 'John Doe';

  String get name => _name;

  void changeName(String name) {
    _name = name;
    notifyListeners();
  }
}

In this example, we have a simple MyModel class that holds a single name field. Whenever this name field changes, we call notifyListeners to let the app know that the state has changed.

Now, let's use this model in a widget. First, we'll create a new instance of MyModel and wrap our widget in a ChangeNotifierProvider:

class MyApp extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      home: ChangeNotifierProvider(
        create: (_) => MyModel(),
        child: Scaffold(
          appBar: AppBar(
            title: Text('Provider Example'),
          ),
          body: Consumer<MyModel>(
            builder: (context, myModel, child) {
              return Center(
                child: Text(myModel.name),
              );
            },
          ),
        ),
      ),
    );
  }
}

Here, we use the ChangeNotifierProvider widget to create a new instance of MyModel and make it available throughout our app. We then use the Consumer widget to depend on MyModel and rebuild our widget whenever it changes.

Conclusion

In conclusion, Provider is a powerful and easy-to-use Flutter package that simplifies state management and makes it easy to build complex and efficient apps. With Provider, developers can quickly and easily access their app state and build widgets that depend on that state, without the need for complex and cumbersome frameworks.