state management

This commit is contained in:
2025-01-17 02:28:54 +01:00
parent 85dd5a6f66
commit e2e1a466f4
4 changed files with 122 additions and 11 deletions
+20 -6
View File
@@ -3,14 +3,28 @@ use osui::*;
fn main() -> osui::Result<()> {
let con = console::init()?;
let (ui, count) = app();
loop {
con.draw(|frame| -> Result<()> {
frame.draw(&"testing", Area::center())?;
frame.draw(&"\x1b[32mX\x1b[0m", Area::center_x())?;
frame.draw(&"\x1b[31mY\x1b[0m", Area::center_y())?;
Ok(())
})?;
let count = count.copy_state();
let mut count1 = count.copy_state();
con.draw(std::sync::Arc::clone(&ui))?;
console::read()?;
count1 += 1;
}
console::end()
}
pub fn app() -> (Element, State<i32>) {
let count = use_state(0);
let count1 = count.copy_state();
(
rsx! {
"{count}"
},
count1,
)
}