Fix nested rsx expansion by not using template titles (#2799)
* Fix nested rsx expansion by not using template titles * fix writers with nameless templates * fix clippy * dont commit vscode fix * fix release mode, pull out __template_name * fix axum_desktop * Fix core tests * Make most fields of HotReloadedTemplate public for testing * wip: formatting, compare all diff cases * slightly smarter diffing for dynamic nodes * add a comment about generic node diffing * clean up mutations a bit * fix load template * simplify maybe_rebuild * Restore write mutations flag in web * write_mutations -> skip_mutations --------- Co-authored-by: Evan Almloff <evanalmloff@gmail.com>
This commit is contained in:
1 parent
a2180b92e9
commit
0de3bf7aeb
40 files changed
+597
-1038
No files matched your search
@@ -70,9 +70,6 @@ use dioxus_core::internal::{
|
||||
HotReloadLiteral, HotReloadedTemplate, NamedAttribute,
|
||||
};
|
||||
use std::collections::HashMap;
|
||||
use std::hash::DefaultHasher;
|
||||
use std::hash::Hash;
|
||||
use std::hash::Hasher;
|
||||
|
||||
use super::last_build_state::LastBuildState;
|
||||
|
||||
@@ -200,23 +197,7 @@ impl HotReloadResult {
|
||||
.collect();
|
||||
let roots: &[dioxus_core::TemplateNode] = intern(&*roots);
|
||||
|
||||
// Add the template name, the dyn index and the hash of the template to get a unique name
|
||||
let name = {
|
||||
let mut hasher = DefaultHasher::new();
|
||||
key.hash(&mut hasher);
|
||||
new_dynamic_attributes.hash(&mut hasher);
|
||||
new_dynamic_nodes.hash(&mut hasher);
|
||||
literal_component_properties.hash(&mut hasher);
|
||||
roots.hash(&mut hasher);
|
||||
let hash = hasher.finish();
|
||||
let name = &self.full_rebuild_state.name;
|
||||
|
||||
format!("{}:{}-{}", name, hash, new.template_idx.get())
|
||||
};
|
||||
let name = Box::leak(name.into_boxed_str());
|
||||
|
||||
let template = HotReloadedTemplate::new(
|
||||
name,
|
||||
key,
|
||||
new_dynamic_nodes,
|
||||
new_dynamic_attributes,
|
||||
|
||||
Reference in new issue
Block a user