精通
英语
和
开源
,
擅长
开发
与
培训
,
胸怀四海
第一信赖
对于组件类来说,这个方法只会被调用一次。对于那些没有被父辈组件指定props 属性的新建实例来说,这个方法返回的对象可用于为实例设置默认的props 值.
var MyTitle = React.createClass({
getDefaultProps : function () {
return {
title : 'Hello World'
};
},
render: function() {
return <h1> {this.props.title} </h1>;
}
});
ReactDOM.render(
<MyTitle />,
document.body );
getDefaultProps并不是在组件实例化时被调用,而是在createClass时被调用,返回值会被缓存。也就是说,不能在getDefaultProps中使用任何特定的实例数据。
var ColorPanel = React.createClass({
getDefaultProps: function() {
return {
colors: [
{id: 1, value: 'red', title: 'red'},
{id: 2, value: 'blue', title: 'blue'},
{id: 3, value: 'green', title: 'green'},
{id: 4, value: 'yellow', title: 'yellow'},
{id: 5, value: 'pink', title: 'pink'},
{id: 6, value: 'black', title: 'black'}
]
}
},
render: function() {
return (
<div>
<ColorBar colors={this.props.colors} />
</div>
);
},
});
React.render(<ColorPanel/>, document.getElementById('demo'));
var NewDom = React.createClass({//类名一定要大写开头
getDefaultProps: function() {//设置默认属性
return {title:'133'};
},
propTypes: {
title:React.PropTypes.string,
},//属性校验器,表示必须是string
render: function() {
return <div>{this.props.title}</div>;//变量用花括号标识
}
});