我有一个React组件,根据我想要将用户重定向到应用内部还是外部URL,它会使用
to
(react-router-dom属性)或href
属性。 TypeScript 报错了:
属性“to”在类型“LinkType”上不存在。
属性“href”在类型“LinkType”上不存在。
这是我定义类型的方式:
import React from 'react';
import { Link } from 'react-router-dom';
interface LinkBase {
label: string;
icon?: JSX.Element;
}
interface RouterLink extends LinkBase {
to: string;
}
interface HrefLink extends LinkBase {
href: string;
}
type LinkType = RouterLink | HrefLink;
export function NavLink(props: LinkType) {
const { to, label, icon, href } = props; // TS complains about those to and href
return(
{to ? (
<Link to={to}>{label}</Link>
) : (
<a href={href}>{label}</a>
)}
);
}