fix: explicitly untrack the children of `<Show/>`
This commit is contained in:
parent
bf8d2e079c
commit
b24ae7a5e3
|
@ -3,7 +3,11 @@ use crate::{
|
|||
IntoView,
|
||||
};
|
||||
use leptos_macro::component;
|
||||
use reactive_graph::{computed::ArcMemo, traits::Get};
|
||||
use reactive_graph::{
|
||||
computed::ArcMemo,
|
||||
traits::{GetUntracked, Track},
|
||||
untrack,
|
||||
};
|
||||
use tachys::either::Either;
|
||||
|
||||
#[component]
|
||||
|
@ -23,8 +27,11 @@ where
|
|||
let memoized_when = ArcMemo::new(move |_| when());
|
||||
let children = children.into_inner();
|
||||
|
||||
move || match memoized_when.get() {
|
||||
true => Either::Left(children()),
|
||||
false => Either::Right(fallback.run()),
|
||||
move || {
|
||||
memoized_when.track();
|
||||
untrack(|| match memoized_when.get_untracked() {
|
||||
true => Either::Left(children()),
|
||||
false => Either::Right(fallback.run()),
|
||||
})
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue