React.js in real world apps.
- 15. var HelloWorld = React.createClass({
render: function() {
return (
<h1>
Hello world
</h1>
);
}
});
React.render(<HelloWorld />,
document.body);
- 17. Whooot?
• Markup and behaviour
• Separation of concerns
• Template language?
• Components
• JSX syntax
- 18. var HelloWorld = React.createClass({
displayName: "HelloWorld",
render: function() {
return React.createElement("h1",
null, "Hello World");
}
});
React.render(
React.createElement(HelloWorld, null),
document.body);
- 24. DOM is slow
Javascript that access to the DOM is slow
console.dir(document.createElement('div'));
A DIV contains about 135 first level properties/function (700 on
second level).
- 25. Virtual DOM
• Our code act on a fake DOM (virtual dom)
• React.js take care of keep virtual DOM and real DOM
synchronised
• Every ReactElement is a light, stateless, immutable,
virtual representation of a DOM Element
• A virtual DOM div element contains only 6 properties.
- 27. Why I like react so much
• Easy to learn, easy to use
• True reusable components (1 single file per component)
• Functional approach
• Human error messages
• Active community
- 28. I said “Easy to learn!”
Less than 1 hour to learn everything you
need to be productive.
Challenge
- 33. npm
var React = require(‘react’)
$ npm install react —save
import React from ‘react’
- 35. • A transpiler
• Converts ES6 javascript to “old” ES5.
• Compiles JSX files to plain js.
- 40. Superagent
Super Agent is light-weight progressive ajax API crafted
for flexibility, readability, and a low learning curve after
being frustrated with many of the existing request APIs. It
also works with Node.js!