TS /反应:View ['props']与React.ComponentProps <typeof view =“”>

时间:2019-02-01 12:21:17

标签: reactjs typescript

考虑到现有的React组件(此处为View),似乎有两种方法可以获取道具的类型(以防不导出)。

有人可以告诉我这两种不同方式之间的区别吗?

  • 查找类型:View['props']
  • 推断条件的类型:React.ComponentProps<typeof View>

我为什么要使用一个而不是另一个?哪一种是“最佳实践”,我们宁可使用?其实我已经发现了流行的开源项目,这两个截然不同的方式,不知道哪一个是“正确的”。

1 个答案:

答案 0 :(得分:1)

在这种情况下,任何一个都应该工作得很好,并且将来不太可能损坏。

由于条件类型是由React团队自己维护的,因此条件类型更具前瞻性,应该始终提取属性的corect类型。

查找类型将您绑定到类的特定props属性,并且不适用于功能组件。虽然不太可能,如果键的名称变化,你可能有问题。

由于react定义提供了专用的条件类型来提取道具,因此我更愿意这么做。