5 个版本
0.1.4 | 2023 年 3 月 7 日 |
---|---|
0.1.3 | 2023 年 3 月 7 日 |
0.1.2 | 2023 年 3 月 7 日 |
0.1.1 | 2023 年 3 月 7 日 |
0.1.0 | 2023 年 3 月 7 日 |
#303 in 渲染
8KB
167 行
leptos-tracked
此包提供用于与 leptos
信号交互的实用特征。
提供的实用工具提供了访问标准库特征或函数的能力,而无需将闭包传递给 update
函数。
示例
使用任何 tracked_*
函数来更新一个可变信号。
use leptos::create_signal;
let (read_i32, write_i32) = create_signal(cx, 4 as i32);
let (read_bool, write_bool) = create_signal(cx, false);
let (read_str, write_str) = create_signal(cx, String::from("Hello"));
let (read_vec, write_vec) = create_signal(cx, vec![1, 2, 3]);
use leptos_tracked::MulAssign;
write_i32.tracked_mul(10);
assert_eq!(read_i32.get(), 40);
use leptos_tracked::Toggle;
write_bool.tracked_toggle();
assert_eq!(read_bool.get(), true);
use leptos_tracked::{AddAssign, Extend};
write_str.tracked_add(" ");
write_str.tracked_extend(vec!["World", "!"]);
assert_eq!(read_str.get(), "Hello World!");
use leptos_tracked::TrackedVec;
write_vec.tracked_pop();
write_vec.tracked_push(4);
assert_eq!(read_vec.get(), vec![1, 2, 4]);
write_vec.tracked_clear();
assert_eq!(read_vec.get(), vec![] as Vec<i32>);
依赖关系
~4–5.5MB
~100K SLoC