【React】React中Typecript的使用
CrazyPanda发表于:2023-12-05 20:43:10浏览:701次
目录
一、创建React的TypeScript项目
见:如何在React项目中引入TypeScript?_duansamve的博客-CSDN博客
二、使用差别
1、基本使用
其基本使用和javascript编写React项目时差不多
这是一份.tsx文件代码:可以看到和之前的.jsx使用并无太大差别
import React, { Component } from "react"; class Hello extends Component { render () { return ( <div> <h1>Hello</h1> </div> ); } } export default Hello;
2、Props传值的差别
import React, { Component } from "react"; interface IProps{ name: string, age: number, work?:string } class Hello extends Component <IProps>{ public constructor (props: any, context: any) { super(props, context); } public render () { const {name,age,work}=this.props return ( <div> <h1>Hello:{name}</h1> <h2>{age}</h2> <h3>{work}</h3> </div> ); } } export default Hello;
注意:使用.tsx时需要明确传入变量的类型,正确的写法应如上所示。any表示传入的可以是任何类型,TypeScript增加了类型限制和类的公开性关键字。TypeScript每次编译都会检查类型是否正确。
3、State传参
state默认是只读的,所以使用时可以有以下两种方式
import React, { Component } from "react"; //通过接口声明状态 interface IState { count: number } class Hello extends Component<any,IState> { // constructor (props: any, context: any) { // super(props, context); // this.state={ // count: 1000 // } // } // 实现state public readonly state: Readonly<IState> = { count: 1 }; clickHandler=()=>{ this.setState({ count: this.state.count + 1 }); }; public render () { return ( <div> <h1>Hello.count:{this.state.count}</h1> <button onClick={this.clickHandler}>click</button> </div> ); } } export default Hello;
三、总结
TypeScript和Javascript的区别在于加入对类型的限制,有点类似于强类型的语言,实质是为了更好的管理维护代码。
猜你喜欢
- 【React】前端框架 React 学习总结
- 目录一、React在HTML里的运用二、React框架的常用操作项目打包1、JSX基础语法规则2、state数据的使用3、生命周期4、数据的双向绑定与Ref5、PropTypes验证规则6、React里的插槽7、错误边界8、直接操作refs元素9、高阶组件的运用案例10、性能优化11、Hook生命周期钩子的使用12、React里的计算属性三、组件之间的传值1、父子组件之间传值2、子向父传值3、context实现跨层级通信context hook案例四、网络请求框架使用五、React路由的使用声明
- 【AntDesignPro】Ant Design Pro学习记录—前后端一体化部署
- 目录前言一、系统配置二、ant design pro访问路径配置三、站点访问路径配置前言好长时间没记录了,使用ant design pro有一年了,期间陆续做了好几个项目,从陌生到熟练,还有好多钻研成果没记录,后续有时间陆续补上。之前几个项目一直是前后端分开部署的,需要配置两个站点域名访问,还要解决跨域session问题,这次把一体化部署记录一下。一、系统配置服务端用的LNMP,使用tp6框架,使用宝塔面板管理。tp站点先正常部署,步骤省略,见下图:配置网站目录和运行目录: 编辑配置伪
- 【AntDesignPro】Ant Design Pro学习记录—ProTable的使用(二)
- 目录一、列表检索初始值设置二、字段缩略显示一、列表检索初始值设置使用initialValue属性,配置列表检索的初始值const columns: ProColumns<API.RoomItem>[] = [ { title: '名称', &nb
- 【React】react页面加载远程css和js
- 在React中,您可以使用componentDidMount生命周期方法来动态加载远程CSS和JavaScript文件。代码如下import React, { Component } from 'react'; class DynamicResources extends Component { componentDidMount()&nbs
- 【AntDesignPro】Ant Design Pro学习记录—默认主题配色修改
- 版本: Ant Design Pro V5先参考下官网定制主题 - Ant Design再参考这篇文章antd pro 修改全局样式_tankpanv的博客-CSDN博客_antd修改全局样式最后自己实验:第一步,在config.ts文件中配置theme: { 'primary-color': defaultSettings.primaryColor, },这种配置需
- 【AntDesignPro】Ant Design Pro学习记录—ModalForm的使用(三)
- 一、 Form.useForm()的使用之前使用表单的时候,一直在为表单赋值纠结,找了一些资料,也感觉很复杂,使用多了之后,感觉表单赋值也挺简单的。1、 创建一个formconst [theForm] = Form.useForm();2、 绑定表单组件无论是ProForm、ModalForm、还是DrawerForm,都可以绑定我们的theForm,使用属性form={theForm}绑定,代码如下<ProForm &nb
- 【AntDesignPro】Ant Design Pro学习记录—搭建AntDesignPro脚手架
- 文章目录前言一、操作过程1.初始化2.完成后配置软连接3.继续执行4.进入应用5.安装依赖6.启动前言工作项目需要,使用了AntDesignPro开发,在此做一个学习研究记录。一、操作过程参考官网开始使用 - Ant Design Pro🏆 让中后台开发更简单 包含 table form 等多个组件。https://pro.ant.design/zh-CN/docs/getting-started在node.js npm yarn 环境配置好之后,按照官网操作运行1.初始化npm
- 【AntDesignPro】L7Plot地理可视化组件的使用
- L7Plot介绍L7Plot 基于 L7 实现的开箱即用地理空间数据可视化图表库L7Plot 专注于地理可视化图表。以声明配置式的方式,降低用户使用成本;以常见地理图表分类的方式,降低用户选择成本;内部集成全国行政区域数据,降低用户使用地理数据心智;支持多图层及多图表层叠,方便用户定制复杂的业务场景;L7Plot 专注于地理数据可视化展示,不会涉及数据编辑能力。前言项目需要,使用antdesignpro做前端,并绘制可视化大屏,回执地图组件,于是使用了L7Plot。功能目的绘
- 【AntDesignPro】Ant Design Pro学习记录—前后端分离跨域设置,解决跨域session不一致
- 目录前言一、为什么跨域二、跨域配置三、跨域请求session不一致前言第一次做前后端分离,也是踩了很多坑,记录一下AntDesignPro跨域解决的方式。服务器系统使用Nginx,服务端使用thinkphp6。AntDesignPro正式build放到服务器上后,提示登录成功,但一直登录不上,后来发现是跨域session不同导致的,登录的时候session和登录成功后session的id不同,导致提示登录成功,就是登录不进去的情况。一、为什么跨域不想知道为什么要跨域,只想知道怎么解决。二、跨域配
栏目分类全部>