typescript


一些问题

// 在安装了一些插件后,建议在 ***src目录下新建  *.d.ts文件声明引入的插件,否则会报错!
 
// 例如在入口index.ts 引入了 morgan

 import morgan from 'morgan'  
  
// 安装了依然报错
Could not find a declaration file for module 'morgan'. 'D:/React/antd-demo-ts/node_modules/_morgan@1.10.0@morgan/index.js' implicitly has an 'any' type.
  Try `npm i --save-dev @types/morgan` if it exists or add a new declaration (.d.ts) file containing `declare module 'morgan';`
  
// src/declaration.d.ts
// 添加如下声明 ,报错消失
declare module 'morgan';

Test

/* 与javascript相比 ,typescript 增加了类型, 使javascript变得强类型了。
typescript 声明的变量 、函数和参数, 甚至外部的props,都可以定义变量的类型。
虽然javascript非常灵活,使用起来很自由,但是这种自由会在项目变得很大时称为一种隐患,例如因为你可以随意的将一个number类型的变量变为其他类型,如果出错可能将是很难排查的。
与javascript 相比, typescript定义类型的好处是 : 在大型项目中更易于维护,且在编码阶段就能发现错误。
*/

// 定义变量
let num : number = 2
let str : string = '卡尔'
let bool : boolean = true

// 定义字符串数组
export const test: string[] = ['可领取', '已领取', '未领取']

// 定义函数参数和返回值
const dataMethod = (a : number, b : string): number => {
    return 2
}

function fn1(a : string, b : string): number {
    return 4
}

// 定义外部props
 // index.tsx
interface SignProps {
  status?: number,
  signState?: Array<object>,
  signUpdateMethod?: () => void
}
  
const SignPage: React.FC<SignProps> = ({
  status,
  signState,
  signUpdateMethod
}) => {
    ...
}
    
// 泛型
  泛型指在定义函数、接口或类的时候,不预先指定具体的类型,而在使用的时候再指定类型的一种特性。
  
未完待续...

文章作者: KarlFranz
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 reprint policy. If reproduced, please indicate source KarlFranz !
评论
  目录