2017-09-04 65 views
-1

docs表示它是一個類型,但在下面的兩個例子中,它們都起作用,第一個例子實際上正在使用一個函數。這是不是意味着文檔錯誤?好像createElement不僅僅是一個類型,而且是一個返回元素的函數。這對我來說很棘手。React.createElement接受什麼參數?

var title = function (props) { 
    return (
    React.createElement(
     'h1', 
     null, 
     'title' 
    ) 
); 
}; 

ReactDOM.render(
    React.createElement(title), 
    document.getElementById('app') 
); 

VS.

var title = React.createElement(
    'h1', 
    null, 
    'title' 
) 

ReactDOM.render(
    title, 
    document.getElementById('app') 
); 
+1

下一行顯示如下:*「類型參數可以是標籤名稱字符串(例如」div「或」span「),也可以是React組件類型(類或函數)。 * – Li357

+0

@AndrewLi:你可以寫一個答案:) –

+0

@FelixKling當然,我會繼續併發佈一個 – Li357

回答

1

React documentation還指出此下一行:

type參數可以是一個標籤名稱的字符串(如'div''span')或React component類型(類或一功能)。

所以,你可以傳遞一個string類型,它創建本地元素,如divh1

React.createElement('h1', null, 'title'); 

您也可以將一個函數作爲第一個參數這是一個陣營組件

var title = function (props) { 
    return (
    React.createElement(
     'h1', 
     null, 
     'title' 
    ) 
); 
}; 

React.createElement(title); 

這裏,title一個陣營部件,米特別是一個功能組件,所以你可以創建一個該類型的元素。

相關問題