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

"Virtual Dom" terminology is a bit dated and a bit confusing #6

Closed
alexgriff opened this issue Nov 27, 2018 · 2 comments
Closed

"Virtual Dom" terminology is a bit dated and a bit confusing #6

alexgriff opened this issue Nov 27, 2018 · 2 comments

Comments

@alexgriff
Copy link

The React core team has moved away from using the term "Virtual Dom" and in fact no longer uses it in any documentation; students will see the term less and less in the wild and it's known to cause confusion.
https://twitter.com/dan_abramov/status/1066328666341294080
https://medium.com/react-in-depth/inside-fiber-in-depth-overview-of-the-new-reconciliation-algorithm-in-react-e1c04700ef6e

I'd recommend against kicking off a new unit with this terminology. Instead I'd propose a high level overview using terms like Reconciliation and/or Diffing.
ie "React maintains a big tree / object representing what the DOM "should" look like. It diffs this against what the DOM actually looks like. (The concept of a diff can be explained via GH pull requests) And from there efficiently reconciles the difference and updates the DOM so it's always up to date."

@maxwellbenton
Copy link
Contributor

Hey @alexgriff,

Thanks for pointing this out and providing the reference resources. I've added this issue to a list of tasks we're going to try and take care of in an upcoming update to the React materials. Seems likely that this lesson will be retired or at least mostly rewritten to avoid confusion.

I'm leaving this issue open for now; I just wanted to reach out to let you know it's in our work queue. I'll update here when this is resolved.

Thank you!

@maxwellbenton
Copy link
Contributor

Hey @alexgriff,

I've rewritten this lesson and replaced the contents regarding Virtual DOM with a brief overview of reconciliation, mainly focused on how React groups DOM updates and runs a diffing algorithm to figure out what to update (and included the links you've given). I went ahead and changes the topic names in the Module 4 track and v8. This should prevent student confusion in the future.

Thank you!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants