React创建组件的的方式汇总

目录
  • 1. 使用函数创建组件
  • 2. 使用类创建组件
  • 3. 抽离为独立JS文件

1. 使用函数创建组件

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

  约定1:函数名称必须以大写字母开头

  约定2:函数组件必须有返回值,表示该组件的结构

  如果返回值为null,表示不渲染任何内容

function Hello() {
    return (
        <div>这是我的第一个函数组件!</div>
    )
}
const Hello = () => <div>这是我的第一个函数组件!</div>

渲染函数组件:用函数名作为组件标签名

组件标签可以是单标签也可以是双标签

//1. 导入react
import React from 'react';
import ReactDOM from 'react-dom';

/*
  函数组件:
*/
function Hello() {
  return (
    <div>这是我的第一个函数组件!</div>
  )
}

//渲染组件
ReactDOM.render(<Hello />, document.getElementById('root'))

2. 使用类创建组件

  组件类:使用ES6的class创建的组件

  约定1:类名称也必须以大写字母开头

  约定2:类组件应该继承React.Component父类,从而可以使用父类中提供的方法或属性

  约定3:类组件必须提供render()方法

  约定4:render()方法必须有返回值,表示该组件的结构

//1. 导入react
import React from 'react';
import ReactDOM from 'react-dom';

/*
  函数组件:
*/
function Hello() {
  return (
    <div>这是我的第一个函数组件!</div>
  )
}

//渲染组件
ReactDOM.render(<Hello />, document.getElementById('root'))

3. 抽离为独立JS文件

  1. 创建Hello.js

  2. 在Hello.js中导入React

  3. 创建组件(函数或类)

  4. 在Hello.js中导出该组件

  5. 在index.js中导入Hello组件

  6. 渲染组件

Hello.js

import React from "react";

//创建组件
class Hello extends React.Component {
    render () {
        return (
            <div>这是我的第一个抽离到js文件中的组件!</div>
        )
    }
}

//导出组件
export default Hello

index.js

//1. 导入react
import React from 'react';
import ReactDOM from 'react-dom';

/*
  抽离组件到独立的JS文件中:
*/

//导入Hello组件
import Hello from './Hello';

//渲染组件
ReactDOM.render(<Hello />, document.getElementById('root'))

到此这篇关于React组件的两种创建方式的文章就介绍到这了,更多相关React组件创建方式内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • React如何创建组件

    前言 这节我们将介绍 React 中组件的类别,以及如何创建和使用组件. 本文会向你介绍以下内容: 创建类组件 创建函数组件 渲染组件 合成组件 提取组件 Props 是只读的 组件介绍 组件(Components) 让你可以将用户界面分成独立的,可复用的小部件,并可以对每个部件进行单独的设计. 从定义上来说, 组件就像JavaScript的函数.组件可以接收任意输入(称为"props"), 并返回 React 元素,用以描述屏幕显示内容. Props , 即属性(Property),

  • react 创建单例组件的方法

    需求背景 最近有个需求,需要在项目中添加一个消息通知弹窗,告知用户一些信息. 用户看过消息后,就不再弹窗了. 问题 很明显,这个需要后端的介入,提供相应的接口(这样可扩展性更好). 在开发过程中,遇到个问题:由于我们的系统是多页面的,所以每次切换页面,都会去请求后端的消息接口..有一定的性能损耗. 因为是多页面系统,使用单例组件貌似也没啥意义(不过是个机会学习学习单例组件是怎么写的). 于是,想到使用浏览器缓存来记录是否弹过窗了(当然,得设定过期时间). 如何写单例组件 1.工具函数: impo

  • 深入理解React中es6创建组件this的方法

    首发于:https://mingjiezhang.github.io/. 在JavaScript中,this对象是运行时基于函数的执行环境(也就是上下文)绑定的. 从react中的demo说起 Facebook最近一次更新react时,将es6中的class加入了组件的创建方式当中.Facebook也推荐组件创建使用通过定义一个继承自 React.Component 的class来定义一个组件类.官方的demo: class LikeButton extends React.Component

  • React创建组件的三种方式及其区别

    React推出后,出于不同的原因先后出现三种定义react组件的方式,殊途同归:具体的三种方式: 函数式定义的无状态组件 es5原生方式React.createClass定义的组件 es6形式的extends React.Component定义的组件 虽然有三种方式可以定义react的组件,那么这三种定义组件方式有什么不同呢?或者说为什么会出现对应的定义方式呢?下面就简单介绍一下. 无状态函数式组件 创建无状态函数式组件形式是从React 0.14版本开始出现的.它是为了创建纯展示组件,这种组件

  • React创建组件的的方式汇总

    目录 1. 使用函数创建组件 2. 使用类创建组件 3. 抽离为独立JS文件 1. 使用函数创建组件 函数组件:使用JS的函数(或箭头函数)创建的组件 约定1:函数名称必须以大写字母开头 约定2:函数组件必须有返回值,表示该组件的结构 如果返回值为null,表示不渲染任何内容 function Hello() { return ( <div>这是我的第一个函数组件!</div> ) } const Hello = () => <div>这是我的第一个函数组件!&l

  • 浅谈React中组件间抽象

    关于今天要学习的组件间抽象其实我这小白看了几次还没弄明白,这次决定一探究竟.在组件构建中,通常有一类功能需要被不同的组件公用,此时就涉及抽象的概念,在React中我们主要了解mixin和高阶组件. mixin mixin的特性广泛存在于各个面向对象语言中,在ruby中,include关键词就是mixin,是将一个模块混入到另外一个模块中,或者是类中. 封装mixin方法 const mixin = function(obj, mixins) { const newObj = obj newObj

  • 详解在React中跨组件分发状态的三种方法

    当我问自己第一百次时,我正在研究一个典型的CRUD屏幕:"我应该将状态保留在这个组件中还是将其移动到父组件?". 如果需要对子组件的状态进行轻微控制.您可能也遇到了同样的问题. 让我们通过一个简单的例子和​​三种修复方法来回顾它.前两种方法是常见的做法,第三种方法不太常规. 问题: 为了向您展示我的意思,我将使用一个简单的书籍CRUD(译者注:增加(Create).读取查询(Retrieve).更新(Update)和删除(Delete))屏幕(如此简单,它没有创建和删除操作). 我们有

  • react父组件调用子组件的方式汇总

    目录 前言 父子组件都为class 父子组件都为hooks 父组件为class,子组件为hooks 父组件为hooks,子组件是class 小结 前言 本文是小结类文章,主要总结一下工作中遇到的父组件调用子组件方法.当然除了用ref之外还有很多其他方式,本文仅仅列举ref的方式.分别介绍父子组件都为class:父子组件都是hooks:父组件是class子组件是hooks:父组件是hooks,子组件是class的各种情况的调用方式. 父子组件都为class 父子组件都是class,父组件调用子组件

  • 简谈创建React Component的几种方式

    前言 当我们谈起React的时候,多半会将注意力集中在组件之上,思考如何将页面划分成一个个组件,以及如何编写可复用的组件.但对于接触React不久,还没有真正用它做一个完整项目的人来说,理解如何创建一个组件也并不那么简单. 在最开始的时候我以为创建组件只需要调用createClass这个api就可以了:但学习了ES6的语法后,又知道了可以利用继承,通过extends React.component来创建组件:后来在阅读别人代码的时候又发现了PureComponent以及完全没有继承,仅仅通过返回

  • 详解React中组件之间通信的方式

    一.是什么 我们将组件间通信可以拆分为两个词: 组件 通信 回顾Vue系列的文章,组件是vue中最强大的功能之一,同样组件化是React的核心思想 相比vue,React的组件更加灵活和多样,按照不同的方式可以分成很多类型的组件 而通信指的是发送者通过某种媒体以某种格式来传递信息到收信者以达到某个目的,广义上,任何信息的交通都是通信 组件间通信即指组件通过某种方式来传递信息以达到某个目的 二.如何通信 组件传递的方式有很多种,根据传送者和接收者可以分为如下: 父组件向子组件传递 子组件向父组件传

  • 详解react hooks组件间的传值方式(使用ts)

    目录 父传子 子传父 跨级组件(父传后代) 父传子 通过props传值,使用useState来控制state的状态值 父组件 Father.tsx里: 子组件 Child.tsx里: 展示效果: 子传父 跟react的方式一样,像子组件传入回调函数,通过接收子组件的返回值,再去更新父组件的state 父组件,Father.tsx里: 子组件,Child.tsx里: 展示效果: 子传父优化版,使用useCallback存放处理事件的函数 父组件,Father.tsx里: 子组件,Child.tsx

随机推荐