码农知识堂 - 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的区别在于加入对类型的限制,有点类似于强类型的语言,实质是为了更好的管理维护代码。

  • 相关阅读:
    申请发明专利需要的时间
    springboot红色吕梁网站的设计与开发毕业设计源码150923
    virtualbox 扩展磁盘后在win10 虚拟机看不到新扩展的空间
    创建域名邮箱邮件地址的方法与步骤
    [C++]文件读写操作
    Flink SQL Hudi 实战
    时序预测 | MATLAB实现NGO-LSTM北方苍鹰算法优化长短期记忆网络时间序列预测
    Zabbix“专家坐诊”第210期问答汇总
    自定义IDOC配置
    股票程序交易接口的测试流程
  • 原文地址:https://blog.csdn.net/qq_50909707/article/details/127980125
  • 最新文章
  • 沪漂五周年了:我越来越迷茫了
    Agentic Skill Routing 实战:别再把所有 Skill 塞进 AI Agent 上下文
    MySQL-Seconds_behind_master的精度误差
    [MAF预定义ChatClient中间件-03]CachingChatClient——利用缓存省钱省时间
    AI的至暗历史:从万众期待到被政府撤资,AI的两次死亡徘徊
    Agent OS :五种驯服不确定性的范式
    PortSwigger SQL注入LAB11
    数据库即时编译JIT
    [Begin]AI Learn Data Day 0
    深度学习进阶(二十七)现代 LLM 的核心架构设计其二:SwiGLU
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
小工具 小游戏
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1

京公网安备 11010502049817号