• 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'))
    
  • 相关阅读:
    bzoj 1911: [Apio2010]特别行动队
    bzoj 1096: [ZJOI2007]仓库建设
    bzoj 3522: [Poi2014]Hotel
    bzoj 3572: [Hnoi2014]世界树
    bzoj 1177: [Apio2009]Oil
    bzoj 1912: [Apio2010]patrol 巡逻
    bzoj 3573: [Hnoi2014]米特运输
    bzoj 3997: [TJOI2015]组合数学
    cf 506 A. Mr. Kitayuta, the Treasure Hunter
    cf 500 D. New Year Santa Network
  • 原文地址:https://www.cnblogs.com/yang37/p/14891185.html
Copyright © 2020-2023  润新知