React API

React API

2017, Sep 12    

react是什么

  • React是Facrbook内部的一个JavaScript类库,它引入了一种新的方式来处理浏览器DOM。
  • React为了尽可能减少对DOM的操作,提供了Virtual DOM(就是React抽象出来的一个对象,描述dom应该什么样子的,应该如何呈现。)去更新真实的DOM。
  • 为什么通过这多一层的Virtual DOM操作就能更快呢?React有个diff算法,然后利用这个diff算法,通过当前新的dom表述与之前的作比较,计算出最小的步骤更新真实的DOM。
  • React本质上只关心两件事:1.更新DOM;2.响应事件。

react 和 react-dom


React 0.14 发布,拆分为 react 和 react-dom。 原本在服务端渲染用的两个 API .renderToString 和 .renderToStaticMarkup 被放在了react-dom/server 中。

react


最熟悉的用法~

import React from 'react';
class LineTrend extends React.Component {

}

API:

  • React.Component
  • React.PureComponent
  • React.createElement
  • React.createFactory
  • React.cloneElement
  • React.isValideElement
  • React.children
  • React.fragment

    都是常用简单的用法,在此不多讲述。

react-dom


import ReactDOM from 'react-dom';
const render = Component => {
  // ReactDOM.render(
  //   <Provider store={store}>
  //     <Component />
  //   </Provider>,
  //   document.getElementById('root')
  // );
};
render(App);

API:

  • ReactDOM.render()
  • ReactDOM.hydrate()
  • ReactDOM.unmountComponentAtNode()
  • ReactDOM.findDOMNode()
  • ReactDOM.createPortal()

1) ReactDOM.render()

ReactDOM.render是React的最基本方法用于将模板转为HTML语言,并插入指定的DOM节点。

2) ReactDOM.findDomNode

用来得到实际Dom.因为react组件有个特点,它有自定义组件,比如这种,用ref来获取这种组件获取到的这是组件定义的对象的实例.findDomNode(this.refs.XXX)会得到XXX组件中render方法返回的dom元素。

3) ReactDOM.unmountComponentAtNode

移除一个已经初始化DOM过的React组件,清理它的操作和状态。如果这个组件中没有初始化过的组件,这个方法没有任何作用~