codecamp

子 props 的类型

通常,一个组件的子代(this.props.children)是一个组件的数组:

var GenericWrapper = React.createClass({
  componentDidMount: function() {    console.log(Array.isArray(this.props.children)); // => true
  },

  render: function() {    return <div />;
  }
});

React.render(  <GenericWrapper><span/><span/><span/></GenericWrapper>,
  mountNode
);

然而,当只有一个子代的时候,this.props.children 将会变成一个单独的组件,而不是数组形式。这样就减少了数组的占用。

var GenericWrapper = React.createClass({
  componentDidMount: function() {    console.log(Array.isArray(this.props.children)); // => false

    // 注意:结果将是 5,而不是 1,因为 `this.props.children` 不是数组,而是 'hello' 字符串!
    console.log(this.props.children.length);
  },

  render: function() {    return <div />;
  }
});

React.render(<GenericWrapper>hello</GenericWrapper>, mountNode);

为了让处理 this.props.children 更简单,我们提供了 React.Children utilities。



在样式props中快速制定像素值
Controlled Input 值为 null 的情况
温馨提示
下载编程狮App,免费阅读超1000+编程语言教程
取消
确定
目录

关闭

MIP.setData({ 'pageTheme' : getCookie('pageTheme') || {'day':true, 'night':false}, 'pageFontSize' : getCookie('pageFontSize') || 20 }); MIP.watch('pageTheme', function(newValue){ setCookie('pageTheme', JSON.stringify(newValue)) }); MIP.watch('pageFontSize', function(newValue){ setCookie('pageFontSize', newValue) }); function setCookie(name, value){ var days = 1; var exp = new Date(); exp.setTime(exp.getTime() + days*24*60*60*1000); document.cookie = name + '=' + value + ';expires=' + exp.toUTCString(); } function getCookie(name){ var reg = new RegExp('(^| )' + name + '=([^;]*)(;|$)'); return document.cookie.match(reg) ? JSON.parse(document.cookie.match(reg)[2]) : null; }