lustre_hash_state
gleam add lustre_hash_state
import lustre_hash_state
pub opaque type Msg {
// ...
HashChange(value: String)
}
pub fn main() {
let app = lustre.application(init, update, view)
let assert Ok(_) = lustre.start(app, "#app", Nil)
}
fn init(_flags) -> #(Model, effect.Effect(Msg)) {
#(Model(), lustre_hash_state.init(HashChange))
}
fn update(model: Model, msg: Msg) -> #(Model, effect.Effect(msg)) {
case msg {
// hash change events can update the model
HashChange(value) -> {
#(Model(..model, value: value), effect.none())
}
UserUpdatedMessage(value) -> {
#(
Model(..model, value: value),
// and user events can update the hash
lustre_hash_state.update(value),
)
}
// ...
}
}
Further documentation can be found at https://hexdocs.pm/lustre_hash_state.
Development
gleam run # Run the project
gleam test # Run the tests
gleam shell # Run an Erlang shell