Expressive UI with React
Marionette
var ProfileView = Marionette.ItemView.extend({
template : '<h1>Users profile view<h1> '
});
var PageLayout = Marionette.LayoutView.extend({
el : 'body',
regions : {
'sidebar' : '#sidebar',
'content' : '#content'
},
template : '<div id="sidebar"></div><div id="content"></div>'
});
var layout = new PageLayout()
layout.render();
layout.getRegion('content').show(new ProfileView({ profile : { id : 1, name : "Peeter" } }));
angular.module('docsSimpleDirective', [])
.directive('ngProfileDirective', function() {
return {
template: '<h1>Profile directive<h1>'
};
});
app.html:
<ng-profile-directive profile=profile></ng-profile-directive>
Sama tulemus
Angular
React
var ProfileComponent = React.createClass({
render: function() {
return (
<h1>Profile Component</h1>
);
}
});
React.render(
<ProfileComponent />,
document.getElementById('content')
);
Proptypes
Võimaldab ära määrata komponendi sisendi. Näiteks et su komponent vajab töötamiseks "profile" muutujat.
Sarnane Hapi.JSi raamistiku "joi.js"ile
Clear component lifecycle
Ilusasti ära defineeritud mis su kompnendiga juhtub. A.la
componentDidMount (domis olemas)
componentDidUnmount (domist ära korjatud)
componentShouldUpdate (kas peaks uuesti renderdama)
Inline CSS
Idee on selles, et kui sa teed tööd ühe komponendiga siis sa teed tööd selle ühe komponendiga. Seal siis on siis nii HTML, JS kui ka CSS.
Kõik ühes failis, vähem võimalusi vigu teha, kergem tööd teha.
React dev tools
Karjuvad su peale nii pea kui midagi valesti teed. Saad inspekteerida reacti komponente live'is.
Isomorphic router
Võimaldab routerit jooksutada nii nodeis kui ka browseris. Server side renderingule aitab kaasa
React
By Peeter Tomberg
React
- 269