Skip to content
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

Separate scheduler rendered call from create and render #2374

Merged
merged 3 commits into from
Jan 22, 2022

Conversation

futursolo
Copy link
Member

Description

This pull request separates rendered runner into push_component_rendered from push_component_create and push_component_render.

Rationale:

  1. With Suspense, every render is no longer guaranteed to be rendered (can be suspended instead and rendered will not be called).
  2. SSR hydration needs a way to defer rendered call until the entire dom tree under a <Suspense /> is hydrated and needs a separate way to trigger rendered() after a component is hydrated.

Checklist

  • I have run cargo make pr-flow
  • I have reviewed my own code
  • I have added tests

@github-actions
Copy link

Visit the preview URL for this PR (updated for commit d45b55f):

https://yew-rs-api--pr2374-separate-rendered-xck2vdrq.web.app

(expires Sun, 23 Jan 2022 03:44:17 GMT)

🔥 via Firebase Hosting GitHub Action 🌎

Copy link
Member

@ranile ranile left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good.

One comment but as far as I know, that's not fixable

packages/yew/src/html/component/lifecycle.rs Show resolved Hide resolved
@ranile ranile enabled auto-merge (squash) January 16, 2022 08:23
@ranile ranile added the A-yew Area: The main yew crate label Jan 16, 2022
@ranile ranile merged commit 38021e3 into yewstack:master Jan 22, 2022
@futursolo futursolo deleted the separate-rendered branch January 27, 2022 13:58
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
A-yew Area: The main yew crate
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants