Closed wldcordeiro closed 6 years ago
A patch that I started, in case anyone else is interested in doing this.
diff --git a/examples/todomvc/src/main.rs b/examples/todomvc/src/main.rs
index 0e4fd57..ad4e962 100644
--- a/examples/todomvc/src/main.rs
+++ b/examples/todomvc/src/main.rs
@@ -8,6 +8,7 @@ extern crate yew;
use strum::IntoEnumIterator;
use yew::html::*;
+use yew::services::storage::{Scope, StorageService};
#[derive(EnumIter, ToString, Clone, PartialEq)]
enum Filter {
@@ -207,7 +208,9 @@ fn view_entry_edit_input((idx, entry): (usize, &Entry)) -> Html<Msg> {
}
}
-struct Context;
+struct Context {
+ store: StorageService,
+}
fn main() {
let mut app = App::new();
@@ -217,7 +220,15 @@ fn main() {
value: "".into(),
edit_value: "".into(),
};
- app.run(Context, model, update, view);
+ let mut ctx = Context {
+ store: StorageService::new(Scope::Local),
+ };
+ let x = match ctx.store.restore("test") {
+ Ok(s) => s,
+ Err(_) => "Nada".to_string(),
+ };
+ println!("{}", x);
+ app.run(ctx, model, update, view);
}
@wldcordeiro Thank you for the issue! I've implemented this in #81 Could you check it?
This should work just as well since it updates the storage for each update to the model. In the JS solutions they do stuff where they access and update during creation/edit and on load.
It seemed to me that storing all the fool model is cooler, or do you think it is better to follow the standard implementation of TodoMVC? According to #5 we should not use this example to compare with other frameworks and it's better to have a separate benchmark implementation. In other words, we could improve TodoMVC like we want/can.
... but anyway, we could follow the standard implementation of TodoMVC. I have no ideas which approach is better )
Fixed by #116
The TodoMVC example isn't using localStorage to persist the todos like a typical implementation would.