docs: fix lifetimes on children

This commit is contained in:
Jonathan Kelley committed 2022-02-12 10:57:57 -05:00
1 parent f130e662be
commit 0596088312
1 file changed
+5 -5
@@ -30,7 +30,7 @@ struct ClickableProps<'a> {
title: &'a str
}
fn Clickable(cx: Scope<ClickableProps>) -> Element {
fn Clickable<'a>(cx: Scope<'a, ClickableProps>) -> Element {
cx.render(rsx!(
a {
href: "{cx.props.href}"
@@ -64,7 +64,7 @@ struct ClickableProps<'a> {
body: Element<'a>
}
fn Clickable(cx: Scope<ClickableProps>) -> Element {
fn Clickable<'a>(cx: Scope<'a, ClickableProps<'a>>) -> Element {
cx.render(rsx!(
a {
href: "{cx.props.href}",
@@ -98,7 +98,7 @@ struct ClickableProps<'a> {
children: Element<'a>
}
fn Clickable(cx: Scope<ClickableProps>) -> Element {
fn Clickable<'a>(cx: Scope<'a, ClickableProps>) -> Element {
cx.render(rsx!(
a {
href: "{cx.props.href}",
@@ -125,7 +125,7 @@ While technically allowed, it's an antipattern to pass children more than once i
However, because the `Element` is transparently a `VNode`, we can actually match on it to extract the nodes themselves, in case we are expecting a specific format:
```rust
fn clickable(cx: Scope<ClickableProps>) -> Element {
fn clickable<'a>(cx: Scope<'a, ClickableProps>) -> Element {
match cx.props.children {
Some(VNode::Text(text)) => {
// ...
@@ -184,7 +184,7 @@ struct ClickableProps<'a> {
onclick: EventHandler<'a, MouseEvent>
}
fn clickable(cx: Scope<ClickableProps>) -> Element {
fn clickable<'a>(cx: Scope<'a, ClickableProps>) -> Element {
cx.render(rsx!(
a {
onclick: move |evt| cx.props.onclick.call(evt)