-
-
Notifications
You must be signed in to change notification settings - Fork 1.4k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
SSR Hydration #2552
SSR Hydration #2552
Conversation
# Conflicts: # .github/workflows/main-checks.yml # examples/agents/Cargo.toml # examples/boids/Cargo.toml # examples/contexts/Cargo.toml # examples/counter/Cargo.toml # examples/dyn_create_destroy_apps/Cargo.toml # examples/file_upload/Cargo.toml # examples/function_memory_game/Cargo.toml # examples/function_router/Cargo.toml # examples/function_router/index.html # examples/function_todomvc/Cargo.toml # examples/futures/Cargo.toml # examples/game_of_life/Cargo.toml # examples/inner_html/Cargo.toml # examples/js_callback/Cargo.toml # examples/keyed_list/Cargo.toml # examples/mount_point/Cargo.toml # examples/nested_list/Cargo.toml # examples/node_refs/Cargo.toml # examples/password_strength/Cargo.toml # examples/portals/Cargo.toml # examples/portals/src/main.rs # examples/router/Cargo.toml # examples/suspense/Cargo.toml # examples/timer/Cargo.toml # examples/todomvc/Cargo.toml # examples/two_apps/Cargo.toml # examples/web_worker_fib/Cargo.toml # examples/webgl/Cargo.toml # packages/yew-router/Cargo.toml # packages/yew/Cargo.toml # packages/yew/Makefile.toml # packages/yew/src/app_handle.rs # packages/yew/src/dom_bundle/bcomp.rs # packages/yew/src/dom_bundle/bportal.rs # packages/yew/src/dom_bundle/bsuspense.rs # packages/yew/src/dom_bundle/btag/listeners.rs # packages/yew/src/dom_bundle/btag/mod.rs # packages/yew/src/dom_bundle/btext.rs # packages/yew/src/dom_bundle/mod.rs # packages/yew/src/dom_bundle/traits.rs # packages/yew/src/dom_bundle/utils.rs # packages/yew/src/html/component/lifecycle.rs # packages/yew/src/html/component/mod.rs # packages/yew/src/html/component/scope.rs # packages/yew/src/html/mod.rs # packages/yew/src/lib.rs # packages/yew/src/renderer.rs # packages/yew/src/scheduler.rs # packages/yew/src/server_renderer.rs # packages/yew/src/suspense/component.rs # packages/yew/src/suspense/mod.rs # packages/yew/src/tests/layout_tests.rs # packages/yew/src/virtual_dom/vcomp.rs # packages/yew/src/virtual_dom/vlist.rs # packages/yew/src/virtual_dom/vsuspense.rs # packages/yew/src/virtual_dom/vtag.rs # packages/yew/src/virtual_dom/vtext.rs # tools/website-test/Cargo.toml # website/docs/advanced-topics/portals.mdx # website/docs/getting-started/build-a-sample-app.mdx # website/docs/tutorial/index.mdx
Visit the preview URL for this PR (updated for commit a339020): https://yew-rs--pr2552-hydration-3-lgz3svc0.web.app (expires Sat, 09 Apr 2022 12:41:20 GMT) 🔥 via Firebase Hosting GitHub Action 🌎 |
Size Comparison
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Found the time to review it in more detail.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks reasonably complete to approve this. As always, thanks for all the effort ❤️
Example: [simple\_ssr](https://github.com/yewstack/yew/tree/master/examples/simple_ssr) | ||
Example: [ssr\_router](https://github.com/yewstack/yew/tree/master/examples/ssr_router) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I would bring these in line with how it's placed in other places:
## Further reading
- The [`simple_ssr`](https://github.com/yewstack/yew/tree/master/examples/simple_ssr) example
- The [`ssr_router`](https://github.com/yewstack/yew/tree/master/examples/ssr_router) example
It's not blocking and can be done in a future PR
|
||
[target.'cfg(not(target_arch = "wasm32"))'.dependencies] | ||
tokio = { version = "1.15.0", features = ["full"] } | ||
warp = "0.3" |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I haven't tried it. I will give it a shot later. We can merge it in as-is and I will hopefully update it soon. I'm probably going to need some help from the #axum in tokio's server though...
@futursolo feel free to merge it if there's no more changes you want to make here. |
Description
Closes #2453 (Supersedes it).
Closes #41.
This pull request introduces
Renderer::hydrate
and SSR Hydration.Checklist
cargo make pr-flow