The document discusses React.js, a JavaScript library for building user interfaces. It allows building modular components that efficiently update based on data changes. Many large companies use React, including Facebook, Instagram, and WhatsApp. Components, the virtual DOM, and one-way data binding are the key concepts. Components are reusable UI elements that can have state and handle events. The virtual DOM diffing algorithm allows efficient re-rendering. Data flows unidirectionally from parent to child components.
Call Girls In Mukherjee Nagar 📱 9999965857 🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...
Rethinking UI Development with React.js Components
1. R E A C T. J S
by Stefano Ceschi Berrini @stecb
Rethinking UI Development
Programmers in Padua - March 18th, 2015
2. I’m a Software Engineer @ Timerepublik.
I’m not a React expert. I’m still learning it,
I’m hacking/experimenting with it and I’m really LOVING IT.
So, let’s share this learning process.
http://stecb.ninja
3.
4. It’s a JavaScript library for the the UI built by
VM C
it automa(g|t)ically keeps the interface up-to-date when data changes
+
As of March, 18th 2015
9. key #1: Components
Everything in React is a modular/reusable
component:
• react HTML elements
• Custom react components
• Collections/composition of the above
Think about a component as a state-machine. Don’t think about the DOM.
10. key #1: Components
A component is a React class. It can take
input data, it can have a state and you can:
• define methods
• render a tree of functions
When you add a component to your UI, you’re just invoking a function.
mandatory
13. key #1: Components JSX
JS syntactic sugar: a concise and familiar syntax for
defining tree structures with attributes.
XML like elements => function + args
14. key #1: Components properties
Props are the options/configuration of a
component, they are data passed from
parents to children and they are
immmutable.
If you think a property of a component could changed over time, then that should be part of its state.
16. key #1: Components state
State is mutable and should contain data
that a component's event handlers may
change to trigger a UI update (i.e. User
interactions, Server responses etc)
State is optional and you should avoid it as much as possible, to reduce complexity!
setState(data, callback)
22. React internally uses a virtual representation of the
DOM
It mutates the real DOM by using a tree diff algorithm +
heuristic O(n^3) => O(n)
You can think about re-rendering your entire application
on every update without worrying about performance!
key #2: Virtual DOM
23. https://www.flickr.com/photos/usnavy/5815022252
Why is it so fast?
JS execution is FAST, real DOM mutations are SLOW
So, being able to re-render the entire application by mutating
JUST what changed on the UI is the most important thing
key #2: Virtual DOM
24. State N State N+1
Changed attributes, just update them on the real DOM
The NodeType has changed, throw away that node (+subtree) and replace
it with a new node!
key #2: Virtual DOM
25. key #3: One-way Data Binding
<ComponentA />
<ComponentB /> <ComponentD />
<ComponentC />
Data (props) flows only in one way. From the Owner to child.
27. Not just the UI…
Architecture: Flux
React on the server: React.renderToString(component)
drumroll… React Native
28. Useful resources
Official React website
https://github.com/enaqx/awesome-react
React VS ember/angular/backbone
React.js Conf 2015 videos
Starter kit for Isomorphic webapps with React and Flux