State management
This commit is contained in:
+12
-4
@@ -1,4 +1,4 @@
|
||||
use osui::{Context, Event, Node};
|
||||
use osui::{state::use_state, Context, Event, Node};
|
||||
|
||||
pub struct ClickEvent;
|
||||
|
||||
@@ -10,10 +10,18 @@ impl Event for ClickEvent {
|
||||
|
||||
fn app(cx: &mut Context) -> Node {
|
||||
// Hooks
|
||||
cx.event(|_: &ClickEvent| {});
|
||||
let count = use_state(0);
|
||||
cx.event({
|
||||
let count = count.clone();
|
||||
move |_: &ClickEvent| {
|
||||
**count.get() += 1;
|
||||
}
|
||||
});
|
||||
|
||||
Box::new(|renderer| {
|
||||
renderer.draw_text("Hello, World!", 0, 0).unwrap();
|
||||
Box::new(move |renderer| {
|
||||
renderer
|
||||
.draw_text(&format!("Count: {count}"), 0, 0)
|
||||
.unwrap();
|
||||
})
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user