provider 2.0.1+1 copy "provider: ^2.0.1+1" to clipboard
provider: ^2.0.1+1 copied to clipboard

outdated

A dependency injection system built with widgets for widgets. provider is mostly syntax sugar for InheritedWidget, to make common use-cases straightforward.

example/provider.dart

import 'dart:async';

import 'package:flutter/material.dart';
import 'package:provider/provider.dart';

void main() {
  runApp(MyApp());
}

class Bloc {
  final StreamController<int> _streamController = StreamController();
  Stream<int> stream;

  Bloc() {
    stream = _streamController.stream.asBroadcastStream();
  }

  void dispose() {
    _streamController.close();
  }
}

class MyApp extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return Provider<Bloc>(
      builder: (_) => Bloc(),
      dispose: (_, value) => value.dispose(),
      child: MaterialApp(
        home: Example(),
      ),
    );
  }
}

class Example extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(title: const Text('BLoC example')),
      body: Center(
        child: StreamBuilder<int>(
          stream: Provider.of<Bloc>(context).stream,
          builder: (context, snapshot) {
            return Text(snapshot.data?.toString() ?? 'Foo');
          },
        ),
      ),
    );
  }
}
9720
likes
40
pub points
100%
popularity

Publisher

verified publisherdash-overflow.net

A dependency injection system built with widgets for widgets. provider is mostly syntax sugar for InheritedWidget, to make common use-cases straightforward.

Repository (GitHub)
View/report issues

License

MIT (LICENSE)

Dependencies

flutter

More

Packages that depend on provider