2015-10-12 70 views
3

在陣營文檔,你可以找到下一個重大更改:陣營0.14:普通對象更換

Plain objects are no longer supported as React children; arrays should be used instead. You can use the createFragment helper to migrate, which now returns an array.

誰能解釋這是什麼意思,他們由普通的對象呢?

有兩種創建組件的方法:ES6 extends React.Component & React.createClass他們哪一個是平淡的?

+0

這不是這個錯誤所說的(這實際上有點令人困惑)。查看https://facebook.github.io/react/docs/create-fragment.html –

回答

2

在過去,你可以使用組件的兩個數組兒童:

var arr = [ 
    <div>one</div>, 
    <div>two</div> 
]; 

return <div>{arr}</div>; 

和兒童成分值的對象:

var obj = { 
    one: <div>one</div>, 
    two: <div>two</div> 
}; 

return <div>{obj}</div>; 

陣營會遍歷鍵,並顯示每個組件。這不再支持。

在很多情況下,這隻意味着你意圖渲染一個字符串或其他東西時意外渲染一個對象。

1

在文檔他們提到createFragment

可以使用createFragment幫手遷移,現在返回一個數組。

其中有一個鏈接到createFragment文檔,解釋如何不會使普通的對象,而是用自己的輔助方法來創建對象

https://facebook.github.io/react/docs/create-fragment.html

這意味着你就不能渲染渲染函數中的簡單對象。看起來它與React.componentReact.createClass無關,我認爲它們都可以使用。