#leptos #tauri #utilities #component

tauri-use

Interop tauri api for leptos

3 unstable releases

Uses new Rust 2024

new 0.2.1 May 3, 2025
0.2.0 Apr 20, 2025
0.1.0 Apr 18, 2025

#897 in GUI

Download history 124/week @ 2025-04-13 180/week @ 2025-04-20 67/week @ 2025-04-27

374 downloads per month

MIT license

29KB
699 lines

Tauri use

Inspired by leptos-use, designed for working with Tauri's native APIs..


Usage

  1. Invoke Function
use leptos::prelude::*;
use tauri_use::{use_invoke_with_args, UseTauriWithReturn};

#[component]
pub fn Demo() -> impl IntoView {
    let UseTauriWithReturn { 
        data: created_demo_data,
        trigger: create_demo ,
        ..
    } = use_invoke_with_args::<DemoModelWrapper, Demo>("create_demo");

    let on_create = move |_| {
        // some invalid code
        // ...
        // ...
        create_demo.set(Some(DemoModelWrapper::new(...)));
    }

    view! {
        ...
        <button on:click=on_create>create</botton>
        ...
    }
}
  1. Listen Function
use leptos::prelude::*;
use tauri_use::{use_listen, UseListenReturn, EventType};

#[component]
pub fn Demo() -> impl IntoView {
    let UseListenReturn {
        data: demo_status,
        open,
        close,
        ..
    } = use_listen::<Vec<DemoStatus>>(EventType::Custom("app://demo_status"));

    let on_open = move |_| {
        open()
    };

    let on_close = move |_| {
        close()
    }

    view! {
        ...
        <button on:click=on_close>close</button>
        <button on:click=on_open>open</button>
        ...
    }
}

Dependencies

~3–5.5MB
~99K SLoC