state management
This commit is contained in:
+20
-6
@@ -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,
|
||||
)
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user