rebuilder 0.2.0 copy "rebuilder: ^0.2.0" to clipboard
rebuilder: ^0.2.0 copied to clipboard

An easy and minimalistic state management library for flutter.

example/lib/main.dart

import 'package:flutter/material.dart';

import 'package:rebuilder/rebuilder.dart';

import 'src/datamodels/app_data.dart';
import 'src/mainpage.dart';
import 'src/models/theme.dart';
import 'src/repository.dart';

void main() {
  final repository = Repository();
  runApp(App(
    repository: repository,
  ));
}

class App extends StatefulWidget {
  const App({this.repository});

  final Repository repository;

  @override
  _AppState createState() => _AppState();
}

class _AppState extends State<App> {
  AppModel appModel;

  @override
  void initState() {
    super.initState();
    appModel = AppModel(repository: widget.repository);
  }

  @override
  Widget build(BuildContext context) {
    return DataModelProvider<AppModel>(
      dataModel: appModel,
      child: MaterialPage(),
    );
  }
}

class MaterialPage extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    final appModel = DataModelProvider.of<AppModel>(context);

    return Rebuilder<RebuilderObject<String>>(
        dataModel: appModel.chosenTheme,
        rebuilderState: appModel.materialState,
        builder: (state, data) {
          return MaterialApp(
              title: 'Rebuilder example',
              theme: themes[data.value],
              home: MainPage());
        });
  }
}
3
likes
40
pub points
44%
popularity

Publisher

unverified uploader

An easy and minimalistic state management library for flutter.

Repository (GitHub)
View/report issues

License

BSD-2-Clause (LICENSE)

Dependencies

flutter

More

Packages that depend on rebuilder