为什么actionCreator的参数不定义类型?
来源:9-6 【reducer管理】combineReducers

zippen
2022-03-24
为什么recommendProudctsAction的actionCreator的参数不定义类型?明明图二的languageAction也定义了类型,这样也太不严谨了?是不是这种参数可以定义也可以不定义的呢?还是说只要是api网络请求就不需要定义类型,直接any就行?
写回答
1回答
-
阿莱克斯刘
2022-03-26
这个问题的答案比较摸棱两可,所谓的“严谨”不一定是一件好事,而“不严谨”也不一定是坏事。JS最大的特点就是灵活,这是它不严谨的体现,但这也正是这门语言这么有活力的原因。在带入TS以后,所有的数据都可以有类型以后,可以极大的提高前端代码的可工程化性和可维护性。但是,我觉得如果为了类型而去类型就没有必要了,任何变量都安排类型反而会绑住自己的双手,难以进行需求的变化。
比如,api的响应数据,前端应该从哪里获得数据类型?如果前端得到的数据类型不全面怎么办?如果后端提供的数据发生了更改怎么办?
以上这些问题都是我工作中每天面对的,我们公司对api数据做了类型匹配,使用了一个工具自动从后端dto(java、c#)生成.d.ts类型文件对数据做出限定,但是,每次做类型匹配反而降低了开发的效率。前端大部分问题都不是简单定义类型就能解决的。
所以,类型绝对不是万金油,关键是要用的好,懂得什么时候该用、什么时候应该放弃。
10
相似问题