Reactjs 对于声明文件和React组件道具,是否建议使用TypeScript接口?
每当我需要为对象创建类型时,我通常会在我的Reactjs 对于声明文件和React组件道具,是否建议使用TypeScript接口?,reactjs,typescript,Reactjs,Typescript,每当我需要为对象创建类型时,我通常会在我的声明中这样编写它们。d.ts: type TagsObject = { _id: string; tag: string; } type ProjectData = { _createdAt: string; _id: string; _rev: string; _type: string; _updatedAt: string; tags: Array<TagsObject>; } 类型标记对象={ _i
声明中这样编写它们。d.ts
:
type TagsObject = {
_id: string;
tag: string;
}
type ProjectData = {
_createdAt: string;
_id: string;
_rev: string;
_type: string;
_updatedAt: string;
tags: Array<TagsObject>;
}
类型标记对象={
_id:字符串;
标签:字符串;
}
类型ProjectData={
_createdAt:string;
_id:字符串;
_版次:字符串;
_类型:字符串;
_updatedAt:string;
标签:数组;
}
对于React组件道具,我会这样写:
type IndexProps = {
recentProjects: Array<ProjectData>;
staticText: HomeStaticText;
};
export default function Index({ recentProjects, staticText }: IndexProps)
type IndexProps={
近期项目:阵列;
静态文本:HomeStaticText;
};
导出默认函数索引({recentProjects,staticText}:IndexProps)
对于在declaration.d.ts
中声明类型,我发现建议使用接口,因为它们更适合对象。然而,对于React组件道具,我看到了在线研究时使用的类型和接口
我知道接口和类型非常相似,但在声明和React组件道具中使用哪一个更好?声明文件的目的是在
Javascript
代码中引入类型,而不是在Typescript
代码中。在Typescript中,您可以直接导入types.ts
文件,也可以在与代码相同的目录中创建类型
现在,说到你的问题
接口vs类型来声明对象类型
接口是这样创建的
接口人{
名称:字符串;
年龄:弦;
}
类型是这样创建的
type Person={
名称:字符串;
年龄:弦;
}
接口和类型都有相似的用途,只是有一些关键的区别
:可以在同一代码中多次定义接口。接口的声明通过Typescript合并在一起形成一个接口。这就是它的样子
接口人{
名称:字符串;
}
//使用新的或现有的接口重新定义相同的接口是完全可以的
//财产。但是相同的属性应该具有相同的类型。
接口人{
年龄:人数;
}
//现在,person界面包含两个属性:name和age
另一方面,类型别名在代码中只能定义一次,不能再次声明。尽管您可以在不同的文件中声明相同的类型,这些文件被视为局部变量。但在同一文件中,不能再次定义类型
接口已打开以添加新属性
在声明合并的帮助下,接口允许我们向它们引入新属性,而类型别名则不允许
哪一个更适合组件道具
我想两者都有。我们不能选一个。但在我个人看来,我更喜欢使用对象声明接口,因为它们与代码的其他部分配合得很好。因为道具只定义一次,所以也可以使用类型。这是个人的选择,而不是最佳实践
访问以查看b/w类型和接口之间的差异