fix: lifetimes again

This commit is contained in:
Jonathan Kelley committed 2022-02-12 11:02:55 -05:00
1 parent 4981e4c26b
commit a325c03dd9
1 file changed
+5 -5
@@ -30,7 +30,7 @@ struct ClickableProps<'a> {
title: &'a str
}
fn Clickable<'a>(cx: Scope<'a, 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<'a>(cx: Scope<'a, ClickableProps>) -> Element {
fn Clickable<'a>(cx: Scope<'a, ClickableProps<'a>>) -> 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<'a>(cx: Scope<'a, ClickableProps>) -> Element {
fn clickable<'a>(cx: Scope<'a, ClickableProps<'a>>) -> Element {
match cx.props.children {
Some(VNode::Text(text)) => {
// ...
@@ -160,7 +160,7 @@ struct ClickableProps<'a> {
attributes: Attributes<'a>
}
fn clickable(cx: Scope<ClickableProps>) -> Element {
fn clickable(cx: Scope<ClickableProps<'a>>) -> Element {
cx.render(rsx!(
a {
..cx.props.attributes,
@@ -184,7 +184,7 @@ struct ClickableProps<'a> {
onclick: EventHandler<'a, MouseEvent>
}
fn clickable<'a>(cx: Scope<'a, ClickableProps>) -> Element {
fn clickable<'a>(cx: Scope<'a, ClickableProps<'a>>) -> Element {
cx.render(rsx!(
a {
onclick: move |evt| cx.props.onclick.call(evt)