-
-
Notifications
You must be signed in to change notification settings - Fork 1.5k
An ever Increasing Component ID #2537
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
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/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/mod.rs # packages/yew/src/dom_bundle/traits.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/suspense/component.rs # packages/yew/src/suspense/mod.rs # packages/yew/src/virtual_dom/vcomp.rs # tools/website-test/Cargo.toml # website/docs/getting-started/build-a-sample-app.mdx # website/docs/tutorial/index.mdx
|
Visit the preview URL for this PR (updated for commit cf0d73d): https://yew-rs-api--pr2537-comp-id-u71lgz64.web.app (expires Mon, 28 Mar 2022 04:06:45 GMT) 🔥 via Firebase Hosting GitHub Action 🌎 |
Size Comparison
|
WorldSEnder
left a comment
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 mostly good to me. Approving, once I figure out if BTreeMap is a good decision. Looks like the right data structure, but I want an okay on the bundle size growth.
Also, you might know, how many render calls, previously skipped in RenderScheduler are now inherently skipped over?
cf0d73d
I am not too worried about the I don't think there is better way to achieve what this pull request is doing with smaller codebase than:
(
All previously skipped renders should still be skipped. The previous |
WorldSEnder
left a comment
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.
No more objections from me, then.
|
Just wondering, would it be possible to add test cases for this? The test would ensure the parent has a smaller id than the child |
It's possible. Let's do this in a future pull request. |
Description
Originally part of #2453.
This pull request makes the parent's component ID to always be smaller than child components.
The effect of this change:
These changes are done to facilitate SSR hydration so that
NodeRefof parent elements can always be fixed before child elements.Checklist
cargo make pr-flow