this.props對象的屬性與組件的屬性一一對應,可是有一個例外,就是this.props.children
屬性。它表示組件的全部子節點。react
var NotesList = React.createClass({ render(){ return ( <ol> { React.Children.map(this.props.children,function(child){ return <li>{child}</li>; }) } </ol> ) } }) ReactDOM.render( <NotesList> <span>{hello}</span> <span>{world}</span> </NotesList>, document.body )
上面代碼的NotesList
組件有兩個span
子節點,他們均可以經過this.props.children
讀取。工具
這裏須要注意,this.props.children
的值有三種可能:若是當前組件沒有子節點,它就是undefined
;若是有一個子節點,數據類型是Object
;若是有多個子節點,數據類型就是array
。因此,處理this.props.children
的時候要當心。this
React提供一個工具方法React.Children
來處理this.props.children
。咱們能夠用React.Children.map
來遍歷子節點,而不用擔憂this.props.children
的數據類型是undefined
仍是object
。spa