An ever Increasing Component ID#2537
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.
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.
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