顶层API
React.render()
渲染一个 ReactElement 到 DOM 中,返回一个到该组件的引用。
如果 ReactElement 之前就被渲染到了 DOM中,该函数将会更新此 ReactElement
React.createClass()
创建一个组件类,并作出定义
如果不使用JSX,则需要用到下面的方法
React.createElement 创建并返回一个新的指定类型的 ReactElement。ReactElement就是虚拟的 DOM 元素 React.createFactory 返回一个生成带有特殊 type 属性的 ReactElement 的函数 React.DOM React.DOM 运用 React.createElement 为 DOM 组件提供了方便的包装
React.unmountComponentAtNode
从 DOM 中移除已经挂载的 React 组件,清除相应的事件处理器和 state
React.renderToString
把组件渲染成原始的 HTML 字符串。该方法应该仅在服务器端使用。React 将会返回一个 HTML 字符串。你可以在服务器端用此方法生成 HTML,然后将这些标记发送给客户端,这样可以获得更快的页面加载速度,并且有利于搜索引擎抓取页面,方便做 SEO
React.renderToStaticMarkup
和 renderToString 类似,除了不创建额外的 DOM 属性,例如 data-react-id,因为这些属性仅在 React 内部使用。如果你想用 React 做一个简单的静态页面生成器,这是很有用的,因为丢掉额外的属性能够节省很多字节
React.isValidElement
判断对象是否是一个 ReactElement
React.PropTypes
用于验证传入组件的 props
React.initializeTouchEvents
配置 React 的事件系统,使 React 能处理移动设备的触摸( touch )事件
React.Children
React.Children 为处理 this.props.children 这个封闭的数据结构提供了有用的工具
组件API
setState
合并 nextState 和当前 state
replaceState
类似于 setState(),但是删除之前所有已存在的 state 键
forceUpdate()
运行 render()
getDOMNode
如果组件已经挂载到了 DOM 上,该方法返回相应的本地浏览器 DOM 元素
isMounted()
如果组件渲染到了 DOM 中,isMounted() 返回 true
setProps
改变组件的属性
replaceProps
类似于 setProps(),但是删除所有已存在的 props
组件的详细说明和生命周期
render
当调用的时候,会检测 this.props 和 this.state,返回一个单子级组件
getInitialState
在组件挂载之前调用一次。返回值将会作为 this.state 的初始值
getDefaultProps
在组件类创建的时候调用一次,返回的对象中的相应属性将会合并到 this.props
propTypes
验证传入到组件的 props
mixins
mixin 数组允许使用混合来在多个组件之间共享行为
statics
statics 对象允许定义静态的方法,这些静态的方法可以在组件类上调用
displayName
displayName 字符串用于输出调试信息
生命周期方法
挂载
componentWillMount componentDidMount
更新
componentWillReceiveProps 在组件接收到新的 props 的时候调用 shouldComponentUpdate 在接收到新的 props 或者 state,将要渲染之前调用 componentWillUpdate 在接收到新的 props 或者 state 之前立刻调用 componentDidUpdate 在组件的更新已经同步到 DOM 中之后立刻被调用
移除
componentWillUnmount
三个非 DOM 标准属性
dangerouslySetInnerHTML
ref
父组件引用子组件
key
提高渲染性能