Fix hydration for static text nodes at the root of the template (#2184)
* Fix hydration for static text nodes at the root of the template * fix clippy
This commit is contained in:
1 parent
4a622348f2
commit
6a781af693
3 files changed
+15
-1
No files matched your search
@@ -1,3 +1,4 @@
|
|||||||
|
.dioxus
|
||||||
/target
|
/target
|
||||||
/packages/playwright-tests/web/dist
|
/packages/playwright-tests/web/dist
|
||||||
/packages/playwright-tests/fullstack/dist
|
/packages/playwright-tests/fullstack/dist
|
||||||
|
|||||||
@@ -156,11 +156,20 @@ impl StringCache {
|
|||||||
cur_path.pop();
|
cur_path.pop();
|
||||||
}
|
}
|
||||||
TemplateNode::Text { text } => {
|
TemplateNode::Text { text } => {
|
||||||
|
// write the id if we are prerendering and this is a root node that may need to be removed in the future
|
||||||
|
if prerender && is_root {
|
||||||
|
write!(chain, "<!--node-id")?;
|
||||||
|
chain.segments.push(Segment::RootNodeMarker);
|
||||||
|
write!(chain, "-->")?;
|
||||||
|
}
|
||||||
write!(
|
write!(
|
||||||
chain,
|
chain,
|
||||||
"{}",
|
"{}",
|
||||||
askama_escape::escape(text, askama_escape::Html)
|
askama_escape::escape(text, askama_escape::Html)
|
||||||
)?;
|
)?;
|
||||||
|
if prerender && is_root {
|
||||||
|
write!(chain, "<!--#-->")?;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
TemplateNode::Dynamic { id: idx } | TemplateNode::DynamicText { id: idx } => {
|
TemplateNode::Dynamic { id: idx } | TemplateNode::DynamicText { id: idx } => {
|
||||||
chain.segments.push(Segment::Node(*idx))
|
chain.segments.push(Segment::Node(*idx))
|
||||||
|
|||||||
@@ -113,7 +113,11 @@ impl WebsysDom {
|
|||||||
ids,
|
ids,
|
||||||
to_mount,
|
to_mount,
|
||||||
)?,
|
)?,
|
||||||
_ => {}
|
TemplateNode::Text { .. } => {
|
||||||
|
if let Some(id) = root_id {
|
||||||
|
ids.push(id.0 as u32);
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
Ok(())
|
Ok(())
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in new issue
Block a user