Ответ 1
getDefaultProps
не объединяет переданные значения свойств с указанным возвращаемым значением. Если свойство не существует, React будет использовать объект, возвращаемый getDefaultProps
, для инициализации экземпляра компонента.
Приведенный ниже код дает:
Test Cover and
код:
var TrackItem = React.createClass({
render: function() {
var track = this.props.track;
return (<div>{track.cover} and {track.artist}</div>);
},
getDefaultProps: function() {
return {
track: {
artist: 'def artist'
}
}
}
});
var track = {
cover: 'Test Cover'
};
React.render(<TrackItem track={ track } />, mountNode);
Также обратите внимание, что объекты, возвращаемые в getDefaultProps
, совместно используются во всех экземплярах компонента (ссылка).