[toc]
## React.Children和props.children區別


React.Children下存放的是5個方法,而props.children存放的直接就是子元素
## props.children值的五種情況
props.children的值有五種情況:
1. undefined,表示沒有子元素
2. null 同上
3. string,表示有唯一子元素且為字符串
4. obj,表示有唯一子元素且是一個react-element(虛擬dom)
5. 數組,表示有**多**個子元素,每一項為上面情況中的一種
So,如果我們是通過props.children拿到的孩子,要遍歷子元素,就需要處理5種情況
嗯。。。有點麻煩,推薦使用:`React.Children.map/forEach`
它會處理上面所的5種情況-->**確保**子元素是在一個數組中以便能夠遍歷。
## React.Children.map
```javascript
//children 為 this.props.children
let React_Children = React.Children.map(children, (item, index) => {
return item;
});
```

可以發現此時為undefined

相較于`this.props.children`得到的孩子們,有一個很大不同在于,**有且僅有一個孩子時**,通過`React.Children.map`遍歷得到的孩子會被放進一個空數組中,而this.props.children得到的孩子則不會(只有當孩子存在兩個,兩個以上時才會)
- 空白目錄
- 01.JSX,了解一下?
- JSX與虛擬DOM
- React
- 02.React文檔精讀(上)`
- React路由
- 關于BrowserRouter
- 關于Route
- 應用
- 權限認證
- case1
- context
- 新context
- 03.React路由
- 04.Diff
- 05.styled-components
- redux設計思想與API
- redux實現1
- 06.redux2
- 06.redux3
- 關于狀態初始化
- saga
- 新版
- 使用saga進行業務邏輯開發
- react-router-redux
- React性能優化
- immutable使用
- 未整理
- FAQ
- 常用中間件
- pureComponent
- 項目相關總結
- antd分尸
- 按需加載
- ReactWithoutJSX
- 我的組件庫
- C領域
- 用戶接口
- htmlType
- style
- show
- conjure
- grid
- inject
- stop
- 內部接口
- 衍生組件
- Button
- 報錯集錦
- ReactAPI
- 類上的那些屬性
- prop-types
- React.createElement
- React.cloneElement
- React.Children和props.children
- react元素和react組件關于作為children方面的那些問題
- react組件與虛擬dom
- ref