【黑马TS】学习资料Day4

五、在 React 中使用 TypeScript

现在,我们已经掌握了 TS 中基础类型、高级类型的使用了。但是,如果要在前端项目开发中使用 TS,还需要掌握
React、Vue、Angular 等这些库或框架中提供的 API 的类型,以及在 TS 中是如何使用的。
接下来,我们以 React 为例,来学习如何在 React 项目中使用 TS。包括以下内容:

  1. 使用 CRA 创建支持 TS 的项目
  2. TS 配置文件 tsconfig.json
  3. React 中的常用类型

5.1 使用 CRA 创建支持 TS 的项目

React 脚手架工具 create-react-app(简称:CRA)默认支持 TypeScript。
创建支持 TS 的项目命令:npx create-react-app 项目名称 --template typescript

更多:在已有项目中使用TS

在这里插入图片描述

在这里插入图片描述

5.2 TS配置文件tsconfig.json

在这里插入图片描述
在这里插入图片描述

5.3 React 中的常用类型(函数组件

在这里插入图片描述
在这里插入图片描述

1. 函数组件的类型和组件属性

写法1:

type Props = { name: string; age?: number };


const Hello: React.FC<Props> = ({ name, age }) => (
  // FC是function Component
  // 指定组件能够接受的属性
  <div>
    Hello姓名是:{name} 年龄是:{age}
  </div>
);


export default Hello;

import Hello from "./Hello";

const Test = () => {
  return <Hello name="slx" />;
};

export default Test;

写法2:不用类型别名,用接口也可以

// 不用类型别名,用接口也可以
interface Props {
  name: string;
  age?: number;
}
const Hello: React.FC<Props> = ({ name, age }) => (
  // FC是function Component
  // 指定组件能够接受的属性
  <div>
    Hello姓名是:{name} 年龄是:{age}
  </div>
);


export default Hello;

写法3:实际上,还可以直接简化为(完全按照函数在 TS 中的写法)

interface Props {
  name: string;
  age?: number;
}

// 或者改成 为函数参数声明类型
const Hello = ({ name, age }: Props) => (
  <div>
    Hello姓名是:{name} 年龄是:{age}
  </div>
);

export default Hello;

2. 函数组件属性的默认值

interface Props {
  name: string;
  age?: number;
}


const Hello = ({ name, age }: Props) => (
  <div>
    Hello姓名是:{name} 年龄是:{age}
  </div>
);
Hello.defaultProps = { age: 0 };
export default Hello;

实际上,还可以直接简化为(完全按照函数在 TS 中的写法)

const Hello = ({ name, age=0 }: Props) => (
  <div>
    Hello姓名是:{name} 年龄是:{age}
  </div>
);

3. 事件绑定 和 事件对象

在这里插入图片描述

  • 3
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值