This commit is contained in:
2025-01-18 23:55:46 +01:00
parent fb82c611df
commit 49ce197f78
2 changed files with 16 additions and 13 deletions
-4
View File
@@ -12,10 +12,6 @@ pub fn app() -> Element {
let count = use_state(0); let count = use_state(0);
rsx! { rsx! {
if (count == 0) {
"ok"
}
"{count}" "{count}"
} }
} }
+16 -9
View File
@@ -25,9 +25,23 @@ macro_rules! rsx_inner {
// If statement // If statement
($frame:expr, $event:expr; ($frame:expr, $event:expr;
if $(%$s:ident),* ($e:expr) {$($inner:tt)*} if ($e:expr) {$($inner:tt)*}
$(else if ($ee:expr) {$($elif_inner:tt)*})*
else {$($else_inner:tt)*}
$($rest:tt)*) => {
if $e {
$crate::rsx_inner!($frame, $event; $($inner)*);
} $(else if $ee {
$crate::rsx_inner!($frame, $event; $($elif_inner)*);
})* else {
$crate::rsx_inner!($frame, $event; $($else_inner)*);
}
$crate::rsx_inner!($frame, $event; $($rest)*);
};
($frame:expr, $event:expr;
if ($e:expr) {$($inner:tt)*}
$($rest:tt)*) => { $($rest:tt)*) => {
$(let $s = $s.copy_state();)*
if $e { if $e {
$crate::rsx_inner!($frame, $event; $($inner)*); $crate::rsx_inner!($frame, $event; $($inner)*);
} }
@@ -62,13 +76,6 @@ macro_rules! rsx_inner {
$crate::rsx_inner!($frame, $event; $($rest)*); $crate::rsx_inner!($frame, $event; $($rest)*);
}; };
($frame:expr, $event:expr;
$elem:literal
$($rest:tt)*) => {
$frame.draw(&format!($elem), Area::new())?;
$crate::rsx_inner!($frame, $event; $($rest)*);
};
($frame:expr, $event:expr;) => {}; ($frame:expr, $event:expr;) => {};
} }