React中的函数式组件和类组件

0.背景

React中有两种创建组件的方式

  • 使用函数创建组件
  • 使用类创建组件

1.函数式组件

使用JS的函数(/箭头函数)创建的组件

1.1 说明

  • 函数名称必须以大写开头(据此区分是组件还是普通的标签元素)

  • 函数组件必须有返回值,表示该组件的结构.

    不渲染任何内容时,请返回null.

  • 使用函数名称作为组件名

1.2 示例

// 函数式组件
function Hello(){
    return (
    	<div>这是函数式组件</div>
    )
}
// 或者 箭头函数
// const Hello = () => <div>这是函数式组件</div>

// 挂载渲染区域
ReactDOM.render(<Hello />, document.getElementsById('root'))

2.类组件

使用ES6的class创建组件

2.1 说明

  • 类名称必须以大写字母开头
  • 类组件需要继承React.Component类(从而使用该父类中的方法或属性).
  • 类组件必须提供render()方法
  • render()方法必须有返回值,表示该组件的结构.

2.2 示例

// 类组件
class Hello extends React.Component{
    render() {
        // 不渲染内容时,同样返回null即可.
        return <div>这是类组件</div>
    }
}
// 挂载渲染区域
ReactDOM.render(<Hello />, document.getElementsById('root'))

3. 将组件独立为js文件

3.1 类组件导出

创建Hello.js

import React from 'react'

// 创建组件
class Hello extends React.Component{
    render() {
        // 不渲染内容时,同样返回null即可.
        return <div>这是类组件</div>
    }
}

// 导出组件
export default Hello

导入

// 指定路径
import Hello from './Hello'

// 挂载渲染区域
ReactDOM.render(<Hello />, document.getElementsById('root'))

3.2 函数组件导出

创建Demo.js

function Demo() {
  return (
     return <div>这是函数组件</div>
  )
}

export {Demo}

导入

import {Demo} from './Demo'

// 挂载渲染区域
ReactDOM.render(<Demo />, document.getElementsById('root'))
原文地址:https://www.cnblogs.com/yang37/p/14891185.html