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组件有个特点,它有自定义组件,比如
3) ReactDOM.unmountComponentAtNode
移除一个已经初始化DOM过的React组件,清理它的操作和状态。如果这个组件中没有初始化过的组件,这个方法没有任何作用~