swc_flutter 0.0.1 copy "swc_flutter: ^0.0.1" to clipboard
swc_flutter: ^0.0.1 copied to clipboard

outdated

flutter developement simplifier

State Widget Controller #

class CountState with ChangeNotifier {

  int _value = 0;

  increment() {
    _value++;
    notifyListeners();
  }

  int get() => _value;

}
class MyHomePage extends SwcStatefulWidget {

  @override
  SwcState createState() => _MyHomePageState();

}

class _MyHomePageState extends SwcState<MyHomePage, MyHomePageController> {

  final CountState _countState = CountState();

  @override
  getProviders() => [
    ChangeNotifierProvider<CountState>.value(value: _countState),
  ];

  @override
  MyHomePageController getController() => MyHomePageController();

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
        title: Text("counting using swc_flutter"),
      ),
      body: Center(
        child: Consumer<CountState>(builder: (context, state, _) {
          return Text(state.get().toString());
        }),
      ),
      floatingActionButton: FloatingActionButton(
        child: const Icon(Icons.add_circle),
        onPressed: () => controller.onAddButtonClick(context),
      ),
    );
  }

}
class MyHomePageController extends EasyController {

  @override
  init(BuildContext context) {
    print("init my home page");
  }

  onAddButtonClick(BuildContext context) {
    dispatch(context, (CountState state) => state.increment());
  }
 
}