React官方API:Top-Level API

React

    React 是進入React架構的入口。如果你正在使用預先構建好的包,它就是一個全局變量。如果你是用的是CommonJS規範,你就需要 require()它。

React.createClass

function createClass(object specification)
    創建一個一定規格的組件。一個組件的實現是靠render方法返回 一個單獨的React元素。組件和其它標準的類的擴展不同的唯一原因就是你不需要重複調用。

React.createElement

function createElement(
  string/ReactComponent type,
  [object props],
  [children ...]
)
    
    創建並返回一個新的指定規格的ReactElement(而不是組件)。它的type參數可以是一個html標籤名,也可以是一個通過React.createClass創建的一個組件。

React.render

ReactComponent render(
  ReactElement element,
  DOMElement container,
  [function callback]
)

    將一個ReactElement連接到DOM的container中,並且返回一個組件的引用。

    如果ReactElement是是在以前就被渲染到container中過,那麼再次調用就會更新DOM(只更新與上次改變後不同的地方)。

    如果有第三個參數callback,它將會在組件被渲染或者更新後被調用。

注意:React.render()將會替換掉原有容器中的子節點。可能在未來,能實現渲染到組件時不會重寫已存在的DOM子節點。

React.unmountComponentAtNode

boolean unmountComponentAtNode(DOMElement container)
    直接把當前DOM節點渲染的全部組件移除(包括事件和state),這樣能避免內存暴增而導致瀏覽器崩潰。如果DOM節點中沒有被渲染的組件,調用這個函數不會做任何改變。
如果組件是已經被移除的的或是false或是沒有組件可以去移除,這個方法返回true。

React.renderToString

string renderToString(ReactElement element)
    初始化一個ReactElement的HTML。這個方法只能用在服務器。它會返回一段HTML字符串。你可以在服務器端用這個方法來生成HTMl,並且發送初始請求以加速頁面加載,

同時允許搜索引擎去抓取你設計好的SEO頁面。

    如果此時你調用React.render()渲染一個節點,React將會緩存並且只是給它加上事件,讓你有一個非常高效的首次加載體驗。

React.isValidElement

boolean isValidElement(* object)
     檢查對象是否一個ReactElement。

React.DOM

     爲DOM組件提供了方便的對象(React.createElement創建的對象)包容器。這是在你不使用JSX語法的另一種寫法。比如:React.DOM.div(null, 'Hello World!')。第一個參數是屬性集合的對象。

React.PropTypes

    這個方法是爲了驗證從其它組件傳遞過來的屬性。

React.initialize TouchEvents

initializeTouchEvents(boolean shouldUseTouch)
    是否開啓移動設備上用React的事件機制來處理觸屏事件。

React.Children

    React.Children 用來處理 this.props.children 中的複雜數據。

object React.Children.map(object children, function fn [, object context])
例子:
<pre name="code" class="javascript">var App = React.createClass({
  render: function() {
    var children = React.Children.map(this.props.children, function(child, i) {
      child.props.style.width = '100px'
    })
    return (
      <div>{children}</div>
    )
  }
})

    在與 children 相鄰的子元素中調用 fn。如果children是一個複雜對象或是一個數組,它將會被遍歷: fn 是不會傳遞容器對象的。

如果children是 null 或 undefined ,它將返回一個 null 或 undefined ,而不是一個空對象。

React.Children.forEach

React.Children.forEach(object children, function fn [, object context])
    用法同React.Children,但是沒有返回值。

React.Children.count

number React.Children.count(object children)
    返回children中包含的組件數量。

React.Children.only

object React.Children.only(object children)
    返回children中僅有的元素。如果子元素數量不唯一,拋出異常。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章