2015-08-29 1 views
1

Следующий кодом из РЕАКТА tutorial:Клонирование Реагировать элементы с cloneWithProps

var _makeBlue = function(element) { 
    return React.addons.cloneWithProps(element, {style: {color: 'blue'}}); 
}; 

var Blue = React.createClass({ 
    render: function() { 
    var blueChildren = React.Children.map(this.props.children, _makeBlue); 
    return <div>{blueChildren}</div>; 
    } 
}); 

React.render(
    <Blue> 
    <p>This text is blue.</p> 
    </Blue>, 
    document.getElementById('container') 
); 

Как работает линия React.Children.map(this.props.children, _makeBlue) работы?

_makeBlue присваивается функция с аргументом element, но, похоже, в нее не передаются никакие элементы.

ответ

-1

В этой строке:

var blueChildren = React.Children.map(this.props.children, _makeBlue); 

this.props.children содержит элементы, или, точнее, экземпляров компонентов, передается _makeBlue. В случае примера this.props.children будет содержать одного ребенка: <p>This text is blue.</p>.