码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • 前端框架 React中Typecript的使用


    目录

    一、创建React的TypeScript项目

    二、使用差别

    1、基本使用

    2、Props传值的差别

    3、State传参

    三、总结


    一、创建React的TypeScript项目

    见:如何在React项目中引入TypeScript?_duansamve的博客-CSDN博客

    二、使用差别

    1、基本使用

    其基本使用和javascript编写React项目时差不多

    这是一份.tsx文件代码:可以看到和之前的.jsx使用并无太大差别

    1. import React, { Component } from "react";
    2. class Hello extends Component {
    3. render () {
    4. return (
    5. <div>
    6. <h1>Helloh1>
    7. div>
    8. );
    9. }
    10. }
    11. export default Hello;

    2、Props传值的差别

    1. import React, { Component } from "react";
    2. interface IProps{
    3. name: string,
    4. age: number,
    5. work?:string
    6. }
    7. class Hello extends Component <IProps>{
    8. public constructor (props: any, context: any) {
    9. super(props, context);
    10. }
    11. public render () {
    12. const {name,age,work}=this.props
    13. return (
    14. <div>
    15. <h1>Hello:{name}h1>
    16. <h2>{age}h2>
    17. <h3>{work}h3>
    18. div>
    19. );
    20. }
    21. }
    22. export default Hello;

    注意:使用.tsx时需要明确传入变量的类型,正确的写法应如上所示。any表示传入的可以是任何类型,TypeScript增加了类型限制和类的公开性关键字。TypeScript每次编译都会检查类型是否正确。

    3、State传参

     state默认是只读的,所以使用时可以有以下两种方式

    1. import React, { Component } from "react";
    2. //通过接口声明状态
    3. interface IState {
    4. count: number
    5. }
    6. class Hello extends ComponentIState> {
    7. // constructor (props: any, context: any) {
    8. // super(props, context);
    9. // this.state={
    10. // count: 1000
    11. // }
    12. // }
    13. // 实现state
    14. public readonly state: Readonly<IState> = {
    15. count: 1
    16. };
    17. clickHandler=()=>{
    18. this.setState({
    19. count: this.state.count + 1
    20. });
    21. };
    22. public render () {
    23. return (
    24. <div>
    25. <h1>Hello.count:{this.state.count}h1>
    26. <button onClick={this.clickHandler}>clickbutton>
    27. div>
    28. );
    29. }
    30. }
    31. export default Hello;

    三、总结

     TypeScript和Javascript的区别在于加入对类型的限制,有点类似于强类型的语言,实质是为了更好的管理维护代码。

  • 相关阅读:
    Java-多态
    山与路远程控制 一个基于electron和golang实现的远控软件
    STM32F103下载的SWJ接口禁用问题
    视野修炼-技术周刊第60期
    DB2 设置explain
    路由器安全性怎么提高
    Python图像处理中PIL中image.convert()函数
    使用 dlv 进行 debug
    Go语学习笔记 - gorm使用 - 数据库配置、表新增 | Web框架Gin(七)
    [计算机入门] 设置日期和时间
  • 原文地址:https://blog.csdn.net/qq_50909707/article/details/127980125
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号