【发布时间】:2021-02-04 07:38:30
【问题描述】:
我有一个在组件中使用的接口,但是如何在不指定每个变量的情况下通过 mainInfo = {User} 之类的一个道具传递所有这些数据。我不想在接口内完成所有数据的对象。 用户是一个拥有不同信息的对象。
界面
export interface MainInfo {
id: number;
firstName: string;
lastName: string;
age: number;
country: string;
speaks: Languages[];
learn: Languages[];
isOnline: boolean;
isFriend: number;
photoUrl: string;
}
我使用接口的组件
import { MainInfo } from '../../interfaces/Interface';
export const UserCard: React.FC<MainInfo> = ( mainInfo ) => {
我如何传递道具
<UserCard
id={User.id}
firstName={User.firstName}
lastName={User.lastName}
age={User.age}
country={User.country}
speaks={User.speaks}
learn={User.learn}
isOnline={User.isOnline}
isFriend={User.isFriend}
photoUrl={User.photoUrl}
/>
但是我可以这样做吗?
<UserCard
mainInfo={User}
/>
【问题讨论】:
-
是的,您完全可以这样做,只需将道具类型更改为
{ mainInfo: MainInfo }。或者只是传播用户对象,<UserCard {...User} />。
标签: javascript reactjs typescript interface