React 组件

React.js入门基础与案例开发 by ParryKK in imooc.com 学习笔记

React 使用

  • 加载 React

    <!-- index.html -->
    <div id="main">
      <h1>Hello</h1>
    </div>
    <script src="./src/bundle.js"></script>
    

React 组件

  • 组件创建

    // index.js
    var React = require('react')
    var ReactDOM = require('react-dom')
    
    class Index extends React.Component {
      render() {
        <h1>Hello World!!!</h1>
      }
    }
    
    // React 入口定义
    ReactDOM.render(
      <Index />,                          // 用 Index 组件
      document.getElementById('main')     // 绑定到 index.html 里的 main 标签
    );
    
  • 外部组件创建

    // ComponentName.js
    var React = require('react')
    
    // 外部组件必须 export 才能被加载
    export default class ComponentName extends React. Component {
      render() {
        <h1>页面组件</h1>
      }
    }
    
  • 外部组件导入

    // 导入路径可以忽略 .js 扩展名
    import ComponentName from './ComponentName';
    
  • 组件的 return 函数返回的 HTML 节点 必须只能一个

React 组件的生命周期

| component instantiated   | props changed                 | setState()                              | component deleted
|------------------------  |---------------                |------------                             |-------------------
|                          |                               |                                         |
|                          |                               |                                         |
| getDefaultProps()        | componentWillReceiveProps()   |                                         |
|-------------------       |-----------------------------  |                                         |
|                          |                               |                                         |
|                          |                               | [setState() doesn't trigger re-render]  |
|                          |                               |                                         |
| getInitialState()        | shouldComponentUpdate() |-----|                                         |
|-------------------       |--------------------------                                               |
|                          |                                                                         |
|                          | [true]                                                                  |
|                          |                                                                         |
|--------------------------|                                                                         |
|                                                                                                    |
| render() |---------------|                                                                         |
|-----------               |                                                                         |
|                          |                                                                         |
|                          |                                                                         |
| [First time]             | [After first time]                                                      |
|                          |                                                                         |
|                          |                                                                         |
| componentWillMount()     | componentWillUpdate()                                                   | componentWillUnmount()
|----------------------    |-----------------------                                                  |------------------------
|                          |
|                          |
| componentDidMount()      | componentDidUpdate()
|---------------------     |----------------------
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容