React中函数组件与类组件的两种使用
React 创建组件的两种方式
函数组件:使用js函数创建的组件
约定1:函数名称必须以大写字母开头
约定2:函数组件必须要有返回值.
如果返回值为null.表示不渲染任何内容。
return null [什么都不会渲染了]
如果没有return会报错的哈
怎么使用函数组件呢?
直接使用函数名作为组件的标签名。
标签名是双标签也可以是单标签。
为什么React的函数组件必须以大写字母开头呢?
因为:React以此来区分是组件还是普通的React元素
函数组件的使用
//src下的index.js文件【入口文件】
import React from 'react'; //这个是react这个包,我们是需要的
import ReactDOM from 'react-dom'; //这个是react的虚拟dom
//函数组件名以大写字母开头
function Hello() {
return (
<div>我是一个函数组件</div>
)
}
ReactDOM.render(<Hello/>, document.getElementById('root'))
类组件
使用ES6的class创建的组件.
约定1:类名必须以大写字母开头。
约定2:类组件必须去继承Raect.Component的父类,
从而可以使用父类中提供的属性或者方法。
约定3:类组件必须提供render方法
约定4: render方法必须要有返回值,表示该组件的结构。
如果你想什么都不返回的话,可以返回null
return null [什么都不会渲染了]
类组件的简单使用
import React from 'react'; //这个是react这个包,我们是需要的
import ReactDOM from 'react-dom'; //这个是react的虚拟dom
// 类名必须以大写字母开头。
class Hello extends React.Component{
// 类组件必须提供render方法
render() {
// render方法必须要有返回值。
// 返回的使用使用()包裹,推荐。
return (
<div>我是一个类组件</div>
)
}
}
ReactDOM.render(<Hello/>, document.getElementById('root'))
页面组件很多怎么处理
当我们的页面有很多组件的时候。
我们应该将组件处理出去。
将每个组件放在一个单独的JS文件中。
因为组件是一个独立的个体,
一般我们会放在一个单独的JS文件中去。
如果所有的组件放在同一个文件中。
以后这个文件会越来越大,不利于后期的维护。
抽离组件的步骤
1.创建Hello.js文件
2.引入react.
3.创建组件(函数组件或者类组件)
4.通过 export default 暴露出去
5.在使用的页面中引入
6.使用组件(渲染组件)
抽离组件的简单使用
<!-- 创建Hello.js文件 -->
import React from "react";
class Hello extends React.Component{
render() {
return <div>我是类组件</div>
}
}
export default Hello
在使用的页面 [在使用的页面中引入]
import Hello from './Hello';
ReactDOM.render(<Hello/>, document.getElementById('root'))
React中函数组件与类组件的两种使用的更多相关文章
- React - 组件:类组件
目录: 1. 类组件有自己的状态 2. 继承React.Component-会有生命周期和this 3. 内部需要一个render函数(类组件会默认调用render方法,但不会默认添加,需要手动填写r ...
- Vue里面提供的三大类钩子及两种函数
在路由跳转的时候,我们需要一些权限判断或者其他操作.这个时候就需要使用路由的钩子函数. 定义:路由钩子主要是给使用者在路由发生变化时进行一些特殊的处理而定义的函数. 总体来讲vue里面提供了三大类钩子 ...
- Oracle中函数/过程返回结果集的几种方式
原文 Oracle中函数/过程返回结果集的几种方式 Oracle中函数/过程返回结果集的几种方式: 以函数return为例,存储过程只需改为out参数即可,在oracle 10g测试通过. ...
- Android中EditText显示明文与密文的两种方式
版权声明:本文为HaiyuKing原创文章,转载请注明出处! 前言 记录输入框显示.隐藏密码的简单布局以及实现方式. 效果图 代码分析 方式一 /**方式一:*/ private void sh ...
- 类与类之间的两种关系------新标准c++程序设计
在c++中,类和类之间有两种基本关系:复合关系和继承关系. 复合关系也称为“has a”关系或“有”的关系,表现为封闭类,即一个类以另一个类的对象作为成员变量. 继承关系也称为“is a”关系或“是” ...
- 【转】oracle 中随机取一条记录的两种方法
oracle 中随机取一条记录的两种方法 V_COUNT INT:=0; V_NUM INT :=0; 1:TBL_MYTABLE 表中要有一个值连续且唯一的列FID BEGIN SELECT COU ...
- 在PHP代码中处理JSON 格式的字符串的两种方法:
总结: 在PHP代码中处理JSON 格式的字符串的两种方法: 方法一: $json= '[{"id":"1","name":"\u ...
- 在eclipse中使用Maven建web工程的两种方式
Eclipse版本:Neon Release (4.6.0) Maven版本:3.3.9 第一种方式: 右键新建maven工程,勾选创建一个简单工程 填入信息,注意打包方式要改为war 点击完成,创建 ...
- react 中的无状态函数式组件
无状态函数式组件,顾名思义,无状态,也就是你无法使用State,也无法使用组件的生命周期方法,这就决定了函数组件都是展示性组件,接收Props,渲染DOM,而不关注其他逻辑. 其实无状态函数式组件也是 ...
- React函数式组件和类组件[Dan]
一篇对Dan的 How Are Function Components Different from Classes? 一文的个人阅读总结,内容来自于此.强烈推荐阅读 Dan Abramov.的博客. ...
随机推荐
- iOS打包IPA教程
转载:xcode打包导出ipa 众所周知,在开发苹果应用时需要使用签名(证书)才能进行打包安装苹果 IPA,作为刚接触ios开发的同学,只是学习ios app开发内测,并没有上架appstore需 ...
- 高性能 Jsonpath 框架,Snack3 3.2.57 发布
Snack3,一个高性能的 JsonPath 框架 借鉴了 Javascript 所有变量由 var 申明,及 Xml dom 一切都是 Node 的设计.其下一切数据都以ONode表示,ONode也 ...
- No Feign Client for loadBalancing defined. Did you forget to include spring-cloud-starter-loadbalanc
No Feign Client for loadBalancing defined. Did you forget to include spring-cloud-starter-loadbalanc ...
- 巧用别名和 sh 脚本,adb 快速截图和录屏,提高你的效率
前言 在平时开发过程中,我们经常需要截图和录制视频,尤其是客户端开发和测试. 可能有一些人的姿势是这样的.在电脑上开个模拟器,使用第三方工具后进行截图和录屏.还有一种最原始的方式,在手机上截图和录制视 ...
- 【Cxx 20】使用 std::span 代替数组指针传参
我们知道std::string_view可以创建std::string的一个视图,视图本身并不拥有实例,它只是保持视图映射的状态.在不修改实例的情况下,使用std::string_view会让字符串处 ...
- Denso Create Programming Contest 2022(AtCoder Beginner Contest 239) E~F 题
E - Subtree K-th Max 题意:给定一个以 \(1\) 为根的树,节点个数为 \(n(\le 1e5)\),每个点都有自己的点权.需要回答 \(m(\le1e5)\) 次询问.每次询问 ...
- 【每日一题】21.边的染色 (DFS连通图 + 思维)
补题链接:Here 思维不够,看到这种陌生的题目无从下手. 这题应该做过一次的人会觉得它其实并不难. 主要思想:把边权->点权. 这样做的好处是,无论你怎么分配点权,在环内的异或值一定为 \(0 ...
- 【win10 系统】idea 修改 Git 密码和账号方法
https://my.oschina.net/anxiaole/blog/1588664
- 每天学五分钟 Liunx 0001 | 存储篇:swap
swap swap ,内存交换空间,它是磁盘上的一块空间,主要作用是为了防止物理内存不足. CPU 从内存中读取数据.当内存的空间不足时, CPU 难以读取到数据,导致程序无法正常工作.所以诞生了 s ...
- 左值,右值,引用,指针,常量,auto如何组合?
左值,右值,引用,指针,常量,auto如何组合? 左值引用:int &a = b; 左值引用是通过使用&符号来声明的,例如int &a. 左值引用用于绑定到左值(可标识的.持久 ...