reactjs – React:嵌套的defaultProps深度合并
发布时间:2020-12-15 20:51:20 所属栏目:百科 来源:网络整理
导读:我有一个轨道道具,具有以下定义: propTypes: { track: React.PropTypes.shape({ cover: React.PropTypes.string,title: React.PropTypes.string,artist: React.PropTypes.string }) } 如果未定义,我希望track.cover获取默认值: getDefaultProps: function(
|
我有一个轨道道具,具有以下定义:
propTypes: {
track: React.PropTypes.shape({
cover: React.PropTypes.string,title: React.PropTypes.string,artist: React.PropTypes.string
})
}
如果未定义,我希望track.cover获取默认值: getDefaultProps: function() {
return {
track: {
cover: 'placeholder.png'
}
}
}
有什么机会我可以在视图层面上做到这一点吗? 谢谢
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中返回的对象在组件的所有实例(reference)之间共享. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
