前言
潍城网站制作公司哪家好,找创新互联!从网页设计、网站建设、微信开发、APP开发、响应式网站建设等网站项目制作,到程序开发,运营维护。创新互联成立于2013年到现在10年的时间,我们拥有了丰富的建站经验和运维经验,来保证我们的工作的顺利进行。专注于网站建设就选创新互联。
TS是什么
TypeScript = Type + Script(标准JS)。
TS的官方网站:TypeScript is a typed superset of JavaScript that compiles to plain JavaScript。TypeScript是一个编译到纯JS的有类型定义的JS超集。
TS优点
目标
花了大概两天时间实现以上勾选内容,主要是熟悉TS的配置文件、构建配置、ts语法、以及react、dva如何写。
安装依赖
基本配置
tsconfig.json
这个文件指定了用来编译这个项目的根文件和编译选项
JSX参数指定工作模式:preserve 模式、 react 模式以及 react-native 模式。这三个模式只影响编译策略。preserve 模式生成代码中会保留 JSX ,以供后续的转换操作使用(比如:Babel),输出的文件是 .jsx 格式的;而 react模式则会直接编译成 React.createElement,在使用前就不需要再进行 JSX 转换了,输出的文件是 .js 格式的;react-native模式相当于preserve,它也保留了所有的JSX,但是输出文件的扩展名是.js。
jsconfig.json
指定根文件和JavaScript语言服务提供的功能选项。
提示:如果您不使用JavaScript,则无需担心jsconfig.json。
提示:jsconfig.json源于tsconfig.json,是TypeScript的配置文件。jsconfig.json相当于tsconfig.json的“allowJs”属性设置为true。
webpack配置
文件后缀改成ts或者tsx
文件名为ts和tsx(React)后缀的代码了,它可以和现有的ES6代码共存,IDE会自动校验这部分代码,webpack打包也没问题了。
业务代码
目录截图
data.d.ts
定义业务对象数据结构接口(interface),字段类型可以是number,string,boolean,也可以是业务对象(下方的Member),也可以是多个值中的一个(下方的status,可以设置成枚举),不确定类型的时候用any,数组的话用‘类型[]’,字段不一定存在用‘?’
model.ts
处理数据和逻辑,包含同步更新 state 的 reducers,处理异步逻辑的 effects,订阅数据源的 subscriptions 。
Partial 作用是将传入的属性变为可选项。
Readonly 作用是将传入的属性变为只读。
service.ts
定义接口请求的路径、方法和参数,返回为Promise。
类组件
connect
connect dva 和 react component
函数组件
在@types/react中已经预定义一个类型type SFC,它也是类型interface StatelessComponent 的一个别名,此外,它已经有预定义的children和其他(defaultProps、displayName等等…),所以我们不用每次都自己编写!
form组件
高阶函数
最后
TS 使得代码变得非常清晰、可读、规范,虽然改起来有些工作量。希望后续的项目中可以应用起来。
推荐文章
1. ts文档 https://www.tslang.cn/docs/handbook/basic-types.html
2. ts2.8终极react组件 https://juejin.im/post/5b07caf16fb9a07aa83f2977#heading-6
3. ant design pro ts 版本 https://github.com/ant-design/ant-design-pro
4.
【本文是专栏机构“AiChinaTech”的原创文章,微信公众号( id: tech-AI)”】
戳这里,看该作者更多好文
文章标题:Typescript + React 新手篇
分享网址:http://www.shufengxianlan.com/qtweb/news30/213030.html
网站建设、网络推广公司-创新互联,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等
声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联