Merge pull request #316 from DioxusLabs/jk/fix-hydration
fix: setnode method for rehydration code
This commit is contained in:
6 files changed
+61
-30
No files matched your search
@@ -80,8 +80,7 @@ impl WebsysDom {
|
||||
|
||||
*last_node_was_text = true;
|
||||
|
||||
self.interpreter.set_node(node_id.0, node);
|
||||
// self.nodes[node_id.0] = Some(node);
|
||||
self.interpreter.SetNode(node_id.0, node);
|
||||
|
||||
*cur_place += 1;
|
||||
}
|
||||
@@ -93,21 +92,7 @@ impl WebsysDom {
|
||||
|
||||
let node = nodes.last().unwrap().child_nodes().get(*cur_place).unwrap();
|
||||
|
||||
use smallstr::SmallString;
|
||||
use std::fmt::Write;
|
||||
|
||||
// 8 digits is enough, yes?
|
||||
// 12 million nodes in one page?
|
||||
let mut s: SmallString<[u8; 8]> = smallstr::SmallString::new();
|
||||
write!(s, "{}", node_id).unwrap();
|
||||
|
||||
node.dyn_ref::<Element>()
|
||||
.unwrap()
|
||||
.set_attribute("dioxus-id", s.as_str())
|
||||
.unwrap();
|
||||
|
||||
self.interpreter.set_node(node_id.0, node.clone());
|
||||
// self.nodes[node_id.0] = Some(node.clone());
|
||||
self.interpreter.SetNode(node_id.0, node.clone());
|
||||
|
||||
*cur_place += 1;
|
||||
|
||||
@@ -129,6 +114,21 @@ impl WebsysDom {
|
||||
);
|
||||
}
|
||||
|
||||
if !vel.listeners.is_empty() {
|
||||
use smallstr::SmallString;
|
||||
use std::fmt::Write;
|
||||
|
||||
// 8 digits is enough, yes?
|
||||
// 12 million nodes in one page?
|
||||
let mut s: SmallString<[u8; 8]> = smallstr::SmallString::new();
|
||||
write!(s, "{}", node_id).unwrap();
|
||||
|
||||
node.dyn_ref::<Element>()
|
||||
.unwrap()
|
||||
.set_attribute("dioxus-id", s.as_str())
|
||||
.unwrap();
|
||||
}
|
||||
|
||||
place.pop();
|
||||
nodes.pop();
|
||||
|
||||
@@ -145,7 +145,7 @@ impl WebsysDom {
|
||||
let cur_place = place.last_mut().unwrap();
|
||||
let node = nodes.last().unwrap().child_nodes().get(*cur_place).unwrap();
|
||||
|
||||
self.interpreter.set_node(node_id.0, node);
|
||||
self.interpreter.SetNode(node_id.0, node);
|
||||
|
||||
// self.nodes[node_id.0] = Some(node);
|
||||
|
||||
|
||||
Reference in new issue
Block a user