引用打字稿接口字段

时间:2021-04-05 09:22:30

标签: typescript

我正在创建一个 React 组件,我想向它传递对接口中字段的引用。

这是什么意思?例如,

interface Person {
name: String
}

我希望能够将 ref 传递给 Person::name,以便在组件内部,我将能够在实际实例上设置此字段。我知道我可以用一个函数 - (p: Person) -> p.name = "the name"

但这只会创建样板代码。

我也知道我可以将“name”作为字符串传递,但这容易出现拼写错误和重构。我想使用类型安全的力量。

谢谢

1 个答案:

答案 0 :(得分:1)

据我从您的问题中了解到,您希望将 name 接口的 Person 属性传递给组件。这可以使用 TypeScript 提供的 Pick 实用程序类型来实现,如下所示:

interface Props {
  name: Pick<Person, "name">;
}
export const Component: React.FC<Props> = (
  props: Props
): React.ReactElement<Props> => {
  // ....
};