React+TS 从零开始教程(2):简中简 HelloWolrd

源码链接:https://pan.quark.cn/s/c6fbc31dcb02

这一节,我们来见识React+TS的威力,开始上手开发第一个组件,什么组件呢?
当然是简中简的 HelloWolrd组件啦。
在src下创建一个components,然后新建Hello.tsx
image.png
为什么是tsx呢,这个目的就是告诉编译器,我这个文件是支持jsx语法的,如果遇到你看不懂的标签,就当作React Element来处理。
这个组件,我们只有一个要求,就是输入一个属性叫做message,然后展示出来即可。
够简单吧,简直是简中简,弟中弟的组件哈。
但是,依然很有学习的价值。
代码如下:

import React from "react";const Hello = (props:any) => {return <h2>{props.message}</h2>
}export default Hello;

然后,我们在App.tsx中引用这个组件。
image.png
效果:
image.png

改进1.不要any,改成接口

React大道至简的哲学,一个组件就是一个函数,再导出去就完事,没有什么花花肠子。
但是,我们这个组件过于简单了,any我们不推荐使用,所以改成接口来限制组件的传参。

interface IProps {message : string
}const Hello = (props:IProps) => {return <h2>{props.message}</h2>
}

这样一来,使用组件的地方就不能随便传参了。
image.png
看截图,不能传number了,必须string

改进2.FunctionComponents

interface IProps {message ?: string
}const Hello : React.FunctionComponent <IProps> = (props) => {return <h2>{props.message}</h2>
}//给属性设置默认值
Hello.defaultProps = {message: 'Hello world!'
}export default Hello;

React.FunctionComponent 是一种自定义的类型,表示当前组件是函数组件,也可以简写成React.FC
message通过?:变成可选的,并通过Hello.defaultProps给属性设置默认值。然后在调用的地方,就允许不传message了。
image.png

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/32899.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

CVPR2023论文速览Transformer

Paper1 TrojViT: Trojan Insertion in Vision Transformers 摘要原文: Vision Transformers (ViTs) have demonstrated the state-of-the-art performance in various vision-related tasks. The success of ViTs motivates adversaries to perform backdoor attacks on ViTs.…

一款有趣的Python库绘制风向图,小白容易上手

利用 Python 绘制风向图 绘制风向图通常使用 matplotlib 库的 Barbs 类来实现.这个类用于绘制风向和风速的矢量场,可以实现不同的风向图风格. 安装 ## 命令安装 matplotlib 库&#xff1a;pip install matplotlib用法 下面是一个简单的示例代码,绘制风向图&#xff1a; 使…

虚拟现实环境下的远程教育和智能评估系统(十三)

管理/教师端前端工作汇总education-admin&#xff1a; 首先是登录注册页面的展示 管理员 首页 管理员登录后的首页如下图所示 管理员拥有所有的权限 课程管理 1、可以查看、修改、增添、删除课程列表内容 2、可以对课程资源进行操作 3、可以对课程的类别信息进行管理&…

java的输出流File OutputStream

一、字节输出流FileOutput Stream 1、定义 使用OutputStream类的FileOutput Stream子类向文本文件写入的数据。 2.常用构造方法 3.创建文件输出流对象的常用方式 二、输出流FileOutputStream类的应用示例 1.示例 2、实现步骤 今天的总结就到此结束啦&#xff0c;拜拜&#x…

【Web APIs】DOM 文档对象模型 ⑤ ( 获取特殊元素 | 获取 html 元素 | 获取 body 元素 )

文章目录 一、获取特殊元素1、获取 html 元素2、获取 body 元素3、完整代码示例 本博客相关参考文档 : WebAPIs 参考文档 : https://developer.mozilla.org/zh-CN/docs/Web/APIgetElementById 函数参考文档 : https://developer.mozilla.org/zh-CN/docs/Web/API/Document/getE…

I2C总线8位IO扩展器PCF8574

PCF8574用于I2C总线的远程8位I/O扩展器 PCF8574国产有多个厂家有替代产品&#xff0c;图示为其中一款HT8574 1 产品特点 低待机电流消耗&#xff1a;10 uA&#xff08;最大值&#xff09; I2C 转并行端口扩展器 漏极开路中断输出 与大多数微控制器兼容 具有大电流驱动能力的闭…

嵌入式系统中的加解密签名

笔者来了解一下嵌入式系统中的加解密 1、背景与名词解释 笔者最近在做安全升级相关的模块&#xff0c;碰到了一些相关的概念和一些应用场景&#xff0c;特来学习记录一下。 1.1 名词解释 对称加密&#xff1a;对称加密是一种加密方法&#xff0c;使用相同的密钥&#xff08;…

IDEA各种实体类运行爆红,不运行就没事

1.问题描述 如图所示&#xff0c;后端项目的import的各种entity爆红&#xff0c;点击也有导入包的提示&#xff0c;且这种报红几乎遍布了整个工程项目 2.我的解决方案 清空缓存&#xff0c;然后把target文件删掉&#xff0c;重新跑 3.小结 idea项目有时候就是一个核弹&…

风险评估概念

渗透服务只是风险评估的一种内容 风险评估的概念 是识别&#xff0c;控制&#xff0c;降低&#xff0c;或者消除可能影响到信息系统的安全风险过程。 风险评估的定义&#xff1a; 就是量化测评一种事情带来的影响&#xff0c;整个量化的过程是偏主观化(客户觉得) 风险的特…

PAL: Program-aided Language Models

PAL: Program-aided Language Models ArXiv&#xff1a;https://arxiv.org/pdf/2211.10435 GitHub&#xff1a;https://reasonwithpal.com/ 一、动机 大模型与Chain-of-Thought可以很好地将一些复杂的问题分解为若干个子问题并进行逐步推理&#xff1b;但是对于一些较为复杂…

[技术笔记] 元器件采购之Flash的国内、外厂商Top5

国外Top5 1、Micron&#xff08;镁光&#xff09;半导体 2、Toshiba&#xff08;东芝&#xff09; 3、Hynix&#xff08;海力士&#xff09; 4、Samsung&#xff08;三星&#xff09; 5、Intel&#xff08;因特尔&#xff09; 6、SanDisk&#xff08;闪迪&#xff09; 7…

【Unity】AssetBundle打包策略

【Unity】AssetBundle打包策略 在游戏开发过程中&#xff0c;AssetBundle(AB)打包策略的重要性不容忽视。游戏开发者往往手动设置游戏资源包名进行管理&#xff0c;难免会造成资源确实或导致冗余&#xff0c;因此对于AB包的打包流程来说&#xff0c;进行策略管理显得十分重要。…

DAY11-力扣刷题

1.最小路径和 给定一个包含非负整数的 m x n 网格 grid &#xff0c;请找出一条从左上角到右下角的路径&#xff0c;使得路径上的数字总和为最小。 说明&#xff1a;每次只能向下或者向右移动一步。 64. 最小路径和 - 力扣&#xff08;LeetCode&#xff09; class Solution {p…

Git 中 pull 操作和 rebase 操作的不同

由于在开发过程中&#xff0c;pull 操作和 rebase 操作都是用来合并分支的&#xff0c;所以我就常常分不清这两个操作具体有什么区别&#xff0c;所以才有了这篇博客来做个简单区分&#xff0c;具体细致差别还请移步到官方文档&#xff1a;Git - Reference (git-scm.com) 1&am…

HCIA 18 结束 企业总部-分支综合实验(上)

1.实验介绍及拓扑 &#xff08;1&#xff09;总部和分支机构都可以上互联网访问8.8.8.8&#xff1b; &#xff08;2&#xff09;总部和分支机构使用广域网专线互访作为主线&#xff0c;并且通过互联网建立GRE隧道互访作为备线&#xff1b; &#xff08;3&#xff09;总部内为…

【pytorch06】 维度变换

常用API view/reshapesqueeze/unsqueezetranspose/t/permuteexpand/repeat view和reshape view操作的基本前提是保证numel()一致 a.view(4,28*28)的物理意义是把行宽以及通道合并在一起&#xff0c;对于4张图片&#xff0c;我们直接把所有数据都合在一起&#xff0c;用一个7…

预备资金有5000-6000买什么电脑比较好?大学生电脑选购指南

小新pro14 2024 处理器&#xff1a;采用了英特尔酷睿Ultra5 125H或Ultra9 185H两种处理器可选&#xff0c;这是英特尔最新的高性能低功耗处理器&#xff0c;具有18个线程&#xff0c;最高可达4.5GHz的加速频率&#xff0c;支持PCIe 4.0接口&#xff0c;内置了强大的ARC核芯显卡…

Faiss:加速大规模数据相似性搜索的利器

在机器学习和数据挖掘领域&#xff0c;相似性搜索是一项基本且重要的任务&#xff0c;它涉及到在大型数据集中找到与特定对象最相似的对象。Faiss是一个由Facebook AI Research开发的库&#xff0c;专门用于高效地进行相似性搜索和聚类&#xff0c;它之所以重要&#xff0c;是因…

双指针算法——部分OJ题详解

目录 关于双指针算法&#xff1a; 1&#xff0c;对撞指针 2&#xff0c;快慢指针 部分OJ题详解 283.移动零 1089.复写零 202.快乐数 11.盛水最多的容器 611.有效三角形的个数 剑指offer 57.和为s的两个数字 15.三数之和 18.四数之和 关于双指针算法&#xff1a; …

[240622] X-CMD 发布 v0.3.12: 引入 codeberg,增强传统命令,改善对 Elvish 和 Fish 支持

目录 X-CMD 发布 v0.3.12✨ cb&#xff08;codeberg.org) &#xff0c;fjo&#xff0c;gitea✨ Elvish✨ fish✨ git✨ ls✨ last✨ ps✨ stat✨ id X-CMD 发布 v0.3.12 ✨ cb&#xff08;codeberg.org) &#xff0c;fjo&#xff0c;gitea 本次版本实验性引入了这三个代码仓库…