Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

History

36 Commits

Repository files navigation

Ractor.dart

Usage

import'package:flutter/material.dart';
import'package:ractor/ractor.dart';
import'package:ractor_hooks/ractor_hooks.dart';
voidmain() =>runApp(MyApp());
var system =System("test");
classMyAppextendsStatelessWidget {
@overrideWidgetbuild(BuildContext context) {
returnMaterialApp(
title:'Flutter Demo',
theme:ThemeData(
primarySwatch:Colors.blue,
),
home:SystemProvider(
system: system,
stores: [LoggerStore()],
child:CounterWidget(),
),
);
}
}
classCounterWidgetextendsRactorHookWidget {
@overrideWidgetbuild() {
var count =useStore(CounterStore());
var _system =useSystem();
returnScaffold(
appBar:AppBar(
title:Text("counter demo"),
),
body:Text(count.toString()),
floatingActionButton:FloatingActionButton(
onPressed: () => _system.broadcast(Increment()),
tooltip:'Increment',
child:Icon(Icons.add),
),
);
}
}
classIncrement {
@overrideStringtoString() {
return"Increment";
}
}
classCounterStoreextendsStore<int> {
int state =1;
createReceive() {
returnthis.receiveBuilder().match<Increment>((increment) {
this.setState(this.state +1);
}).build();
}
}
classLoggerStoreextendsStore<List<String>> {
List<String> state = [];
createReceive() {
returnthis.receiveBuilder().matchAny((action) {
print(this.mountStatus);
print(action.toString());
}).build();
}
}

About

Ractor in dart.

Resources

Stars

3 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages