Reactjs 如何在map函数中为一组非结构化对象定义接口?
这就是我到目前为止所做的。我尝试了许多可能的解决方案,但我一直收到下面同样的错误。任何线索或信息都会非常有用Reactjs 如何在map函数中为一组非结构化对象定义接口?,reactjs,typescript,destructuring,Reactjs,Typescript,Destructuring,这就是我到目前为止所做的。我尝试了许多可能的解决方案,但我一直收到下面同样的错误。任何线索或信息都会非常有用 interface RequestedOptions { name: string; } interface TicketOptions { serviceId: string; description: string; requestedAt: string; status: string; requester: RequestedOpt
interface RequestedOptions {
name: string;
}
interface TicketOptions {
serviceId: string;
description: string;
requestedAt: string;
status: string;
requester: RequestedOptions;
}
const tickets = transaction?.localTickets || [];
{tickets.map(
({ serviceId, description, createdAt, status, requester }: TicketOptions) => (
<div className={styles.row} key={serviceId}>
...
似乎
transaction.localTickets
具有类型
interface TicketOptions {
readonly serviceId: string | null;
readonly description: string | null;
readonly requestedAt: string | null;
readonly status: string | null;
readonly requester: RequestedOptions | null;
}
其中RequestedOptions
为
interface RequestedOptions {
name: string | null;
}
因此TS认为您的
TicketOptions
类型和transaction.localTickets
不兼容。如上图所示,只需创建TicketOptions
和RequestedOptions
,就可以解决您的问题。似乎事务。localTickets
具有类型
interface TicketOptions {
readonly serviceId: string | null;
readonly description: string | null;
readonly requestedAt: string | null;
readonly status: string | null;
readonly requester: RequestedOptions | null;
}
其中RequestedOptions
为
interface RequestedOptions {
name: string | null;
}
因此TS认为您的
TicketOptions
类型和transaction.localTickets
不兼容。如上图所示,只需做出TicketOptions
和RequestedOptions
,就能解决您的问题。非常感谢您的建议。不幸的是,它仍然导致了一个错误。在办公室里四处询问,我们有一个实用程序断言函数,可以简单地过滤空值。这就成功了。非常感谢你的建议。不幸的是,它仍然导致了一个错误。在办公室里四处询问,我们有一个实用程序断言函数,可以简单地过滤空值。这就成功了。