renlin-router
About
- A routing library for renlin
repository
Using
Requirement
Getting Started
1. add to dependency
pom.xml
<dependency>
<groupId>net.kigawa</groupId>
<artifactId>renlin-router</artifactId>
<version>{version}</version>
</dependency>
build.gradle.kts
implementation("net.kigawa:renlin:{version}")
2. write the code
write a root component
class SampleComponent(
val name: String,
val sub: Sub,
) {
val root = div.component {
t("test root")
sub.display {
}
fragment {
div {
fragment {
p {
t("text")
}
}
}
}
sub.controller {
}
}
}
write a subcomponent
class Sub(
dispatcher: StateDispatcher,
) {
val state: MutableState<String> = dispatcher.newState("state")
val display = div.component {
t("display")
div {
val value = state.useValue()
t("display1")
div {
t()
p {
t()
}
}
}
}
controller = div.component {
t()
}
test = fragment<FlowContent>().component { }
test1 = fragment<PhrasingContent>().component { }
test2 = fragment<FlowPhrasingIntersection>().component { }
}
set state
state.set("new value")
init endpoint
val root = document.getElementById("root") ?: throw Exception("Root not found")
val sub = Sub()
val sample = SampleComponent("sample", sub)
val dispatcher = HakateInitializer().newStateDispatcher()
Entrypoint(root).render(sample.root, dispatcher)
Author
Making
Version
Example: 9.1.2
- 9: major, destructive
- 1: miner, new function
- 2: miner, bug fix