Skip to main content

use_paginated

Function use_paginated 

Source
pub fn use_paginated<T, P, F, Fut, E>(
    page: P,
    per_page: i32,
    fetch: F,
) -> PaginatedState<T>
where T: PartialEq + Clone + 'static, P: Fn() -> i32 + Copy + 'static, F: Fn(i32, i32) -> Fut + Copy + 'static, Fut: Future<Output = Result<(Vec<T>, i64), E>> + 'static, E: Display + 'static,
Expand description

分页列表加载 hook。

  • page:返回当前页码的信号读取闭包(返回值变化时自动重新加载)。
  • per_page:每页条数。
  • fetch:接收 (page, per_page),返回 Future<Output = Result<(Vec<T>, i64), E>>E: Display 用于把错误写入 error signal。

非 wasm32 下 loading 立即置 false(SSR 不发起请求)。

§

let state = use_paginated(
    || current_page,
    POSTS_PER_PAGE,
    |p, pp| async move {
        list_posts(p, pp, None).await
            .map(|r| (r.posts, r.total))
            .map_err(|e| e.to_string())
    },
);