Crate leptos_declarative

Source
Expand description

Declarative components to represent control-flow and other useful constructs in the leptos web framework not directly provided by default.

This crate provides 2 main components

§Usage

For more usage examples, please refer to the respective components’ documentation, but here’s a taste.

§If

use leptos::*;
use leptos_declarative::prelude::*;

let (a, _) = create_signal(cx, true);
let (b, _) = create_signal(cx, false);

view! { cx,
<If signal=a>
  <Then>"A is true!"</Then>
  <ElseIf signal=b>"B is true!"</ElseIf>
  <Else>"Both A and B are false!"</Else>
</If>
};

§Portal

use leptos::*;
use leptos_declarative::prelude::*;


struct PortalId;

view! { cx,
  <PortalProvider>
    <div>
      <h1>"Portal goes here!"</h1>
      <PortalOutput id=PortalId />
    </div>

    <PortalInput id=PortalId>
      <p>"I went through the portal!"</p>
    </PortalInput>
  </PortalProvider>
};

Modules§

if_
The if construct for leptos.
portal
Portals for leptos.
prelude
Convenient import of all components.