vue3中对ts类型的实践

来源:3-14 方法拦截器进一步深度理解和本章总结说明

咩仔

2023-10-25

老师好,学完类型并结合您之前对我类型疑问的回答我做了一个vue3+ts开发的实践
之前我提问:“是不是应该对所有类型,能定义则必须完全定义”
您回答:“是正确的,这也是 ts 该具备的能力”
图片描述
对普通变量和函数等类型定义是比较清楚的。
但是面对请求和数据渲染有点迷茫了,我好像做到了能定义则完全定义,但是这真的是好的写法吗?感觉添加了非常多的开发工序步骤。
我如果所有接口都这样定义这样写是对的吗?特别是红色框出来部分是不是可写可不写?还是就应该这样写,或者有没有别的什么建议。
希望老师解答一下,谢谢

写回答

2回答

keviny79

2023-10-25

因为我们的项目上线后的维护往往和项目开发同等重要!所以“能定义则必须完全定义”好处明显: 是基于以下考虑 1. 防止运行错误:类型约束作用,防止写错推至到运行后发现 。 2.较大提升可维护性:项目变大时,项目中的类型会很多,明确定义类型利于后期修改,因为有可能我们辞职了,对新人更友好! 3.可读性变好:当我们看第三方库,或者即使过一段时间回头再来看自己写的项目(可能有些业务都忘了),那可读性的好处就很明显了。   4. TS 自动提示:,这点好处就无需解释了。 你可以结合图片来看哪些位置的类型需要加,哪些也可加可不加https://img.mukewang.com/szimg/653922d609c4b96116080976.jpg

0
0

咩仔

提问者

2023-10-25

还有一个问题就是list是不是应该这样写?

const list = ref<LoginResp>({
status: 0,
token: "",
admins: []
})       我就从 TS 方面来解答, 从 TS 类型上来看 LoginResp 是一个对象 ,变量名修改成对象含义的变量名即可。
0
0

TypeScript 从入门到深度掌握,晋级TS高手

200+技术点,22 场景应用,Vue3 源码 TS 用法剖析

430 学习 · 53 问题

查看课程