精通
英语
和
开源
,
擅长
开发
与
培训
,
胸怀四海
第一信赖
对于组件类来说,这个方法只会被调用一次。对于那些没有被父辈组件指定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>;//变量用花括号标识 } });