diff --git a/examples/counter/Cargo.toml b/examples/counter/Cargo.toml
index 249eef9..3a3e31a 100644
--- a/examples/counter/Cargo.toml
+++ b/examples/counter/Cargo.toml
@@ -4,7 +4,7 @@ version = "0.1.0"
edition = "2021"
[dependencies]
-leptos = { path = "../../leptos", features = ["csr"], version = "0.0.1" }
+leptos = { path = "../../leptos", features = ["csr"], version = "0.0.4" }
wee_alloc = "0.4"
console_log = "0.2"
log = "0.4"
diff --git a/examples/counter/src/lib.rs b/examples/counter/src/lib.rs
index 21a92fa..b853461 100644
--- a/examples/counter/src/lib.rs
+++ b/examples/counter/src/lib.rs
@@ -5,9 +5,10 @@ pub fn simple_counter(cx: Scope) -> web_sys::Element {
view! {
-
+
+
"Value: " {move || value().to_string()} "!"
-
+
}
}
diff --git a/examples/counters/Cargo.toml b/examples/counters/Cargo.toml
index e6419a5..1a701d9 100644
--- a/examples/counters/Cargo.toml
+++ b/examples/counters/Cargo.toml
@@ -4,7 +4,7 @@ version = "0.1.0"
edition = "2021"
[dependencies]
-leptos = { path = "../../leptos", features = ["csr"], version = "0.0.1" }
+leptos = { path = "../../leptos", features = ["csr"], version = "0.0.4" }
wee_alloc = "0.4"
log = "0.4"
console_log = "0.2"
diff --git a/examples/counters/src/lib.rs b/examples/counters/src/lib.rs
index 69f0857..6006b1b 100644
--- a/examples/counters/src/lib.rs
+++ b/examples/counters/src/lib.rs
@@ -17,8 +17,8 @@ pub fn Counters(cx: Scope) -> web_sys::Element {
let add_counter = move |_| {
let id = next_counter_id();
let sig = create_signal(cx, 0);
- set_counters(move |counters| counters.push((id, sig)));
- set_next_counter_id(|id| *id += 1);
+ set_counters.update(move |counters| counters.push((id, sig)));
+ set_next_counter_id.update(|id| *id += 1);
};
let add_many_counters = move |_| {
@@ -27,11 +27,11 @@ pub fn Counters(cx: Scope) -> web_sys::Element {
let signal = create_signal(cx, 0);
new_counters.push((next_id, signal));
}
- set_counters(move |n| *n = new_counters.clone());
+ set_counters(new_counters.clone());
};
let clear_counters = move |_| {
- set_counters(|counters| counters.clear());
+ set_counters.update(|counters| counters.clear());
};
view! {
@@ -80,20 +80,18 @@ fn Counter(
) -> web_sys::Element {
let CounterUpdater { set_counters } = use_context(cx).unwrap_throw();
- let input = move |ev| {
- set_value(move |value| *value = event_target_value(&ev).parse::().unwrap_or_default())
- };
+ let input = move |ev| set_value(event_target_value(&ev).parse::().unwrap_or_default());
view! {
-
+
{move || value().to_string()}
-
-
+
+
}
}
diff --git a/examples/fetch/Cargo.toml b/examples/fetch/Cargo.toml
index 1f20bae..6988ddb 100644
--- a/examples/fetch/Cargo.toml
+++ b/examples/fetch/Cargo.toml
@@ -5,7 +5,7 @@ edition = "2021"
[dependencies]
anyhow = "1.0.58"
-leptos = { path = "../../leptos", features = ["csr"], version = "0.0.1" }
+leptos = { path = "../../leptos", features = ["csr"], version = "0.0.4" }
reqwasm = "0.5.0"
serde = { version = "1", features = ["derive"] }
wee_alloc = "0.4"
diff --git a/examples/fetch/src/lib.rs b/examples/fetch/src/lib.rs
index 5978846..2ad8c9e 100644
--- a/examples/fetch/src/lib.rs
+++ b/examples/fetch/src/lib.rs
@@ -31,7 +31,7 @@ async fn fetch_cats(count: u32) -> Result, ()> {
pub fn fetch_example(cx: Scope) -> web_sys::Element {
let (cat_count, set_cat_count) = create_signal::(cx, 1);
- let cats = create_resource(cx, cat_count, |count| fetch_cats(*count));
+ let cats = create_resource(cx, cat_count, |count| fetch_cats(count));
view! {
@@ -41,8 +41,7 @@ pub fn fetch_example(cx: Scope) -> web_sys::Element {
value={move || cat_count.get().to_string()}
on:input=move |ev| {
let val = event_target_value(&ev).parse::
().unwrap_or(0);
- log!("set_cat_count {val}");
- set_cat_count(|n| *n = val);
+ set_cat_count(val);
}
/>
diff --git a/examples/router/Cargo.toml b/examples/router/Cargo.toml
index 20e5f21..41ccc34 100644
--- a/examples/router/Cargo.toml
+++ b/examples/router/Cargo.toml
@@ -6,7 +6,8 @@ edition = "2021"
[dependencies]
console_log = "0.2"
log = "0.4"
-leptos = { path = "../../leptos", features = ["csr"], version = "0.0.1" }
+leptos = { path = "../../leptos", features = ["csr"], version = "0.0.4" }
+leptos_router = { path = "../../router", features = ["csr"], version = "0.0.4" }
wee_alloc = "0.4"
futures = "0.3"
diff --git a/examples/router/src/api.rs b/examples/router/src/api.rs
index def4d77..facef2f 100644
--- a/examples/router/src/api.rs
+++ b/examples/router/src/api.rs
@@ -1,4 +1,5 @@
use std::time::Duration;
+use leptos::{Serialize, Deserialize};
use futures::{
channel::oneshot::{self, Canceled},
@@ -6,14 +7,14 @@ use futures::{
};
use leptos::set_timeout;
-#[derive(Debug, Clone, PartialEq, Eq)]
+#[derive(Debug, Clone, PartialEq, Eq, Serialize, Deserialize)]
pub struct ContactSummary {
pub id: usize,
pub first_name: String,
pub last_name: String,
}
-#[derive(Debug, Clone, PartialEq, Eq)]
+#[derive(Debug, Clone, PartialEq, Eq, Serialize, Deserialize)]
pub struct Contact {
pub id: usize,
pub first_name: String,
diff --git a/examples/router/src/lib.rs b/examples/router/src/lib.rs
index e0a3e83..55a1cfd 100644
--- a/examples/router/src/lib.rs
+++ b/examples/router/src/lib.rs
@@ -8,6 +8,7 @@ use std::{
use api::{Contact, ContactSummary};
use futures::Future;
use leptos::*;
+use leptos_router::*;
use crate::api::{get_contact, get_contacts};
@@ -102,7 +103,7 @@ pub fn Index(cx: Scope) -> Vec {
#[component]
pub fn ContactList(cx: Scope) -> Element {
- let contacts = use_loader::>>(cx);
+ let contacts = use_loader::<(String, Vec)>(cx);
log::debug!(
"[ContactList] before , use_route(cx).path() is {:?}",
@@ -142,12 +143,12 @@ pub fn Contact(cx: Scope) -> Element {
view! {
}
diff --git a/examples/todomvc/Cargo.toml b/examples/todomvc/Cargo.toml
index a1778df..f0547fc 100644
--- a/examples/todomvc/Cargo.toml
+++ b/examples/todomvc/Cargo.toml
@@ -4,7 +4,7 @@ version = "0.1.0"
edition = "2021"
[dependencies]
-leptos = { path = "../../leptos", version = "0.0.1" }
+leptos = { path = "../../leptos" }
wee_alloc = "0.4"
miniserde = "0.1"
log = "0.4"
diff --git a/examples/todomvc/src/lib.rs b/examples/todomvc/src/lib.rs
index ebc3912..af4aa9f 100644
--- a/examples/todomvc/src/lib.rs
+++ b/examples/todomvc/src/lib.rs
@@ -57,14 +57,14 @@ impl Todos {
if self.remaining() == 0 {
for todo in &self.0 {
if todo.completed.get() {
- (todo.set_completed)(|completed| *completed = false);
+ (todo.set_completed)(false);
}
}
}
// otherwise, mark them all complete
else {
for todo in &self.0 {
- (todo.set_completed)(|completed| *completed = true);
+ (todo.set_completed)(true);
}
}
}
@@ -101,7 +101,8 @@ impl Todo {
}
pub fn toggle(&self) {
- (self.set_completed)(|completed| *completed = !*completed);
+ self.set_completed
+ .update(|completed| *completed = !*completed);
}
}
@@ -124,7 +125,7 @@ pub fn TodoMVC(cx: Scope, todos: Todos) -> Element {
let (mode, set_mode) = create_signal(cx, Mode::All);
window_event_listener("hashchange", move |_| {
let new_mode = location_hash().map(|hash| route(&hash)).unwrap_or_default();
- set_mode(|mode| *mode = new_mode);
+ set_mode(new_mode);
});
let add_todo = move |ev: web_sys::Event| {
@@ -240,9 +241,9 @@ pub fn Todo(cx: Scope, todo: Todo) -> Element {
if value.is_empty() {
set_todos.update(|t| t.remove(todo.id));
} else {
- (todo.set_title)(move |n| *n = value.to_string());
+ (todo.set_title)(value.to_string());
}
- set_editing(|n| *n = false);
+ set_editing(false);
};
let tpl = view! {
@@ -259,10 +260,10 @@ pub fn Todo(cx: Scope, todo: Todo) -> Element {
prop:checked={move || (todo.completed)()}
on:input={move |ev| {
let checked = event_target_checked(&ev);
- (todo.set_completed)(|n| *n = checked);
+ (todo.set_completed)(checked);
}}
/>
-