2
0
Fork 0
mirror of https://github.com/DioxusLabs/dioxus synced 2025-02-18 14:48:26 +00:00

Merge pull request from ealmloff/make-resource-copy

Implement copy for Resource
This commit is contained in:
Jonathan Kelley 2024-03-12 13:32:31 -07:00 committed by GitHub
commit d180f569cf
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
2 changed files with 17 additions and 6 deletions
packages
hooks/src
rsx/src

View file

@ -119,6 +119,13 @@ pub struct Resource<T: 'static> {
callback: UseCallback<Task>,
}
impl<T> Clone for Resource<T> {
fn clone(&self) -> Self {
*self
}
}
impl<T> Copy for Resource<T> {}
/// A signal that represents the state of the resource
// we might add more states (panicked, etc)
#[derive(Clone, Copy, PartialEq, Hash, Eq, Debug)]

View file

@ -244,12 +244,16 @@ impl<'a> ToTokens for TemplateRenderer<'a> {
attr_paths: &[ #(#attr_paths),* ],
};
dioxus_core::VNode::new(
#key_tokens,
TEMPLATE,
Box::new([ #( #node_printer),* ]),
Box::new([ #(#dyn_attr_printer),* ]),
)
{
// NOTE: Allocating a temporary is important to make reads within rsx drop before the value is returned
let __vnodes = dioxus_core::VNode::new(
#key_tokens,
TEMPLATE,
Box::new([ #( #node_printer),* ]),
Box::new([ #(#dyn_attr_printer),* ]),
);
__vnodes
}
});
}
}