Хабр Курсы для всех
РЕКЛАМА
Практикум, Хекслет, SkyPro, авторские курсы — собрали всех и попросили скидки. Осталось выбрать!
По поводу reactjs: долгие годы прошли у программистов чтобы понять что «логика + отображение» в одном месте => тяжело поддерживать
и react наступает на те же самые грабли, что вы об этом думаете?
То есть это получается шаблонизатор, тем более я не понимаю зачем его с ангуляром сравнивать.
на мой взгляд flux ничего нового не привнёс в плане архитектуры,
«логика + отображение» в одном месте => тяжело поддерживать
и react наступает на те же самые грабли
В джаваскрипт надо лазить чтобы вёрстку поправить (класс, например, добавить какому либо элементу или завраппить элемент)?
var myList = react.createClass({
render: function() {
return dom.div({}, this.props.items.map(this.props.renderItem))
}
)
var anotherComponent = react.createClass({
render: function() {
return dom.div({}, myList({
items: [1,2,3], // передаем данные на отрисовку
renderItem: function(item) { return dom.span({}, item.toString()); } // передаем функцию отрисовки одного элемента
}))
}
})
<div>
<span ng-repeat="item in items">{{item}}</span>
</div>
<div>
<div ng-repeat="item in items">
<span>{{item}}</span>
</div>
</div>
<div>
<div>
<span ng-repeat="item in items">{{item}}</span>
</div>
</div>
Window = React.createClass
reload: (cb)-> @forceUpdate(cb)
render: ->
@transferPropsTo(Document())
Document = React.createClass
render: -> @transferPropsTo(Html)
Html = React.createClass
render: -> React.DOM.div(null, Head, Body)
# etc.
window = React.renderComponent(new Window({global: this}), document.body);
# now you write your business logic
# and when model changed you simple reload all page
user.on('change', window.reload);
(Для сравнения, смотрите нашу версию с AngularJS).
Там нужен ng-repeat + filter внутри ng-repeat.
React is a JavaScript library for creating user interfaces by Facebook and Instagram. Many people choose to think of React as the V in MVC.
var items = this.props.items.map((text, index) =>
dom.li({
className: cx({ focused: self.state.focused == index }),
onClick: this.clicked.bind(self, index)
}, text)
)
return dom.div({}, dom.ul({}, items))
setInterval(this.tick, 50); — кто обеспечивает передачу корректного this при вызове функции tick()? React/JSX что, подменяют window.setInterval или форсируют Function.prototype.bind() для всех методов создаваемого класса/компонента?product-row = React.create-class do
render: ->
tr null,
td null,
span do
if @props.product.stocked
style:
color: 'red'
@props.product.name
td null, @props.product.price
5 практических примеров для изучения фреймворка React