Reactive store library for Akryl.
- Add jcenter repository:
repositories {
jcenter()
}
- Add dependency:
dependencies {
compile "io.akryl:akryl-store:<version>"
}
Define store class:
class CounterStore : Store() {
// state
var count = 0
// action
fun increment() {
count += 1
}
}
Define context to use store inside components:
val CounterContext = StoreContext.create<CounterStore>()
Use store inside components:
class CounterView : Component() {
override fun render(): ReactNode {
val store = Store.of(CounterContext)
return Div(
Text("Count = ${store.count}"),
Button(text = "Increment", onClick = { store.increment() })
)
}
}