组件
模块化
可组装
<span style="color: rgb(85, 85, 85); font-family: source-code-pro, Menlo, Consolas, "Courier New", monospace; background-color: rgba(0, 0, 0, 0.0392157);">React.createClass()</span>
创建一个新的REACT组件
render
返回一颗REACT组件树,渲染成HTML
<span style="color: rgb(85, 85, 85); font-family: source-code-pro, Menlo, Consolas, "Courier New", monospace; background-color: rgba(0, 0, 0, 0.0392157);">ReactDOM.render()</span>
<span style="color: rgb(72, 72, 72); font-family: proxima-nova, "Helvetica Neue", Helvetica, Roboto, Arial, sans-serif; font-size: medium; background-color: rgb(249, 249, 249);">实例化根组件</span>
只在复合组件被定义后调用
<span style="color: rgb(85, 85, 85); font-family: source-code-pro, Menlo, Consolas, "Courier New", monospace; background-color: rgba(0, 0, 0, 0.0392157);">React.createElement(tagName)</span>
Props
从父组件传来的数据在子组件李作为属性使用
通过this.props的keys读取父组件传给子组件的数据
不可变,从父级传来并被父级拥有
state
this.state是组件私有的
通过调用this.setstate()改变它
每次state更新,组件就重新渲染自己
<span style="color: rgb(85, 85, 85); font-family: source-code-pro, Menlo, Consolas, "Courier New", monospace; background-color: rgba(0, 0, 0, 0.0392157);">getInitialState()</span>
<p style="box-sizing: border-box; border: none; margin: 10px 0px; padding: 0px; color: rgb(72, 72, 72); font-family: proxima-nova, "Helvetica Neue", Helvetica, Roboto, Arial, sans-serif; font-size: medium; background-color: rgb(249, 249, 249);">在生命周期里只执行一次,并设置组件的初始状态。</p><div><br></div><h4 style="box-sizing: border-box; border: none; margin: 10px 0px; padding: 0px; font-family: proxima-nova, "Helvetica Neue", Helvetica, Roboto, Arial, sans-serif; font-weight: bold; line-height: 20px; color: rgb(72, 72, 72); text-rendering: optimizeLegibility; font-size: medium; background-color: rgb(249, 249, 249);"><a class="anchor" name="更新状态" style="box-sizing: border-box; border: none; margin: -50px 0px 0px; padding: 0px; color: rgb(192, 91, 77); position: absolute;"></a></h4>
<span style="color: rgb(85, 85, 85); font-family: source-code-pro, Menlo, Consolas, "Courier New", monospace; background-color: rgba(0, 0, 0, 0.0392157);">componentDidMount</span>
<span style="color: rgb(72, 72, 72); font-family: proxima-nova, "Helvetica Neue", Helvetica, Roboto, Arial, sans-serif; font-size: medium; background-color: rgb(249, 249, 249);">当组件被渲染时被React自动调用的方法</span>
子主题
<span style="color: rgb(72, 72, 72); font-family: proxima-nova, "Helvetica Neue", Helvetica, Roboto, Arial, sans-serif; font-size: medium; background-color: rgb(249, 249, 249);">我们在父组件的</span><code style="box-sizing: border-box; border: none; margin: 0px; padding: 1px 3px; font-family: source-code-pro, Menlo, Consolas, "Courier New", monospace; line-height: 1.5; color: rgb(85, 85, 85); background-color: rgba(0, 0, 0, 0.0392157);">render</code><span style="color: rgb(72, 72, 72); font-family: proxima-nova, "Helvetica Neue", Helvetica, Roboto, Arial, sans-serif; font-size: medium; background-color: rgb(249, 249, 249);">方法中以传递一个新的回调函数(</span><code style="box-sizing: border-box; border: none; margin: 0px; padding: 1px 3px; font-family: source-code-pro, Menlo, Consolas, "Courier New", monospace; line-height: 1.5; color: rgb(85, 85, 85); background-color: rgba(0, 0, 0, 0.0392157);">handleCommentSubmit</code><span style="color: rgb(72, 72, 72); font-family: proxima-nova, "Helvetica Neue", Helvetica, Roboto, Arial, sans-serif; font-size: medium; background-color: rgb(249, 249, 249);">)到子组件完成这件事,绑定它到子组件的 </span><code style="box-sizing: border-box; border: none; margin: 0px; padding: 1px 3px; font-family: source-code-pro, Menlo, Consolas, "Courier New", monospace; line-height: 1.5; color: rgb(85, 85, 85); background-color: rgba(0, 0, 0, 0.0392157);">onCommentSubmit</code><span style="color: rgb(72, 72, 72); font-family: proxima-nova, "Helvetica Neue", Helvetica, Roboto, Arial, sans-serif; font-size: medium; background-color: rgb(249, 249, 249);"> 事件上。无论事件什么时候触发,回调函数都将被调用:</span>
子主题
bind(this)