mirror of
https://github.com/DioxusLabs/dioxus
synced 2024-11-10 06:34:20 +00:00
Fix memorization for the fragment component (#2360)
This commit is contained in:
parent
47c87568e1
commit
fc2b441ee1
2 changed files with 10 additions and 4 deletions
|
@ -344,7 +344,8 @@ impl Properties for ErrorBoundaryProps {
|
|||
fn builder() -> Self::Builder {
|
||||
ErrorBoundaryProps::builder()
|
||||
}
|
||||
fn memoize(&mut self, _: &Self) -> bool {
|
||||
fn memoize(&mut self, other: &Self) -> bool {
|
||||
*self = other.clone();
|
||||
false
|
||||
}
|
||||
}
|
||||
|
|
|
@ -27,7 +27,7 @@ use crate::innerlude::*;
|
|||
/// You want to use this free-function when your fragment needs a key and simply returning multiple nodes from rsx! won't cut it.
|
||||
#[allow(non_upper_case_globals, non_snake_case)]
|
||||
pub fn Fragment(cx: FragmentProps) -> Element {
|
||||
cx.0.clone()
|
||||
cx.0
|
||||
}
|
||||
|
||||
#[derive(Clone, PartialEq)]
|
||||
|
@ -90,7 +90,12 @@ impl Properties for FragmentProps {
|
|||
fn builder() -> Self::Builder {
|
||||
FragmentBuilder(None)
|
||||
}
|
||||
fn memoize(&mut self, _other: &Self) -> bool {
|
||||
false
|
||||
fn memoize(&mut self, new: &Self) -> bool {
|
||||
let equal = self == new;
|
||||
if !equal {
|
||||
let new_clone = new.clone();
|
||||
self.0 = new_clone.0;
|
||||
}
|
||||
equal
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue