+ All Categories
Home > Engineering > React Internals

React Internals

Date post: 28-Jul-2015
Category:
Upload: artur-skowronski
View: 220 times
Download: 0 times
Share this document with a friend
Popular Tags:
37
React Internals Introduction to React.js diff “algorithm” in no time
Transcript
Page 1: React Internals

React InternalsIntroduction to React.js diff “algorithm” in no time

Page 2: React Internals
Page 3: React Internals
Page 4: React Internals
Page 5: React Internals
Page 6: React Internals
Page 7: React Internals
Page 8: React Internals

<div> First Container

</div>

<div> This <b>Our Content</b>

</div>

<div> <i>This Our</i> Content

</div>

<div> <i>This <b>Our</i>Content</b>

</div>

Page 9: React Internals

VirtualDOM

Page 10: React Internals

N3

1000 * 1000 * 1000

Page 11: React Internals

KISS

Page 12: React Internals

Two components of the same class will generate similar trees

and two components of different classes will generate different trees.

Page 13: React Internals
Page 14: React Internals

setState()

Page 15: React Internals

setState()

setState()

setState()

Page 16: React Internals

render()

render() render()

render()

render() render()

render() render()

Page 17: React Internals
Page 18: React Internals
Page 19: React Internals
Page 20: React Internals
Page 21: React Internals
Page 22: React Internals
Page 23: React Internals

Levenstein Distance

Page 24: React Internals
Page 25: React Internals

It is possible to provide a unique key for elements that is stable across different renders

Page 26: React Internals

div key="first"

HashMap

Page 27: React Internals

a b

Page 28: React Internals

a b

c

d

Page 29: React Internals

render()

render() render()

render()

render()?

Page 30: React Internals

shouldComponentUpdate(nextProps, nextState)

Page 31: React Internals

render()

render() render()

render()

render()<>

Page 32: React Internals
Page 33: React Internals

Immutable.js

Page 34: React Internals
Page 35: React Internals

https://facebook.github.io/react/docs/reconciliation.htmlReact Reconciliation

http://calendar.perfplanet.com/2013/diff/React Diff Algorithm

Page 36: React Internals

http://grfia.dlsi.ua.es/ml/algorithms/references/editsurvey_bille.pdf

A Survey on Tree Edit Distance and Related Problems

https://en.wikipedia.org/wiki/Levenshtein_distanceLevenstein Distance

Page 37: React Internals

Thank You


Recommended