Comments (2)
Thank you for your feedback! ❤️
Your question is simple and hard simultaneously. Simple, because you can use many approaches to implementa that. Hard, because I don't know which is better to choose, but I will try to offer some.
At first, you can use Model
with multiple states and initialize it on user action:
enum Model {
Uninitialized,
Initialized(Data),
}
fn update(_: &mut Context, model: &mut Model, msg: Msg) {
match msg {
Msg::Ready => {
let data = Data { };
*model = Model::Initialized(data);
}
}
}
The second approach I've demonstrated in the fresh PR #73. Send messages as many as you want directly to App
instance. Source: https://github.com/DenisKolodin/yew/blob/ecc34b9b9944cea9627a2e9a3f5a9f7412064ca5/examples/crm/src/main.rs#L211
I also fixed some bugs to make it possible. Now I initialize stdweb
when App::new
called and you can use AppSender
before App::run
calling:
fn main() {
let mut app = App::new();
let mut context = Context {
storage: StorageService::new(Scope::Local),
dialog: DialogService,
};
let database = load_database(&mut context);
let scene = Scene::Initialization;
let model = Model { database, scene };
app.sender().send(Msg::SwitchTo(Scene::ClientsList));
app.run(context, model, update, view);
}
It's also possible to call Context
's services as well.
from yew.
Awesome,
I think app.sender().send()
will do the trick.
Thank you!
from yew.
Related Issues (20)
- Neovim editor setup
- yew-router example does not compile HOT 5
- Yew 0.21 and Prokio 0.1.0 use different versions of Gloo
- Can't use `Self` in generic when deriving `Properties`
- Tutorial proxy-backend returning `index.html` not json? HOT 5
- use_effect lacks documentation HOT 2
- Tutorial uses String not AttrValue
- File based Routing HOT 1
- Caution about navigator callbacks in functional components is confusing
- Yew Agent documentation
- When passing `Classes` in `html!`, component props don't need `.clone()`, but element props do HOT 1
- [Feature]: Provide a `Default` trait implementation for the `UseStateHandle` struct HOT 2
- Japanese documents are out of date
- Context with Rc<Refcell<T>> reducer type has unexpected behavior HOT 1
- Why not provide some Form components? HOT 1
- SSR + hydration results in a stalled request
- I am unable to build even the simplest Yew applications using Rust 1.76 and running under macOS 14.3 HOT 1
- Blob download encoding
- `VRaw` namespace support for `svg` contents.
- Issue with change detection? HOT 4
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from yew.