代码之家  ›  专栏  ›  技术社区  ›  Sebastien Lorber

TS/React:View['props']与React.ComponentProps<typeof View>

  •  1
  • Sebastien Lorber  · 技术社区  · 7 年前

    给定一个现有的React组件(此处 View )似乎有两种方法可以获得道具类型(以防未导出)。

    有人能告诉我这两种不同方式的区别吗?

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

    为什么我应该用一个而不是另一个?哪一个是“最佳实践”,我们更应该使用?事实上,我在流行的开源项目中发现了这两种截然不同的方式,不知道哪一种是“正确的”。

    1 回复  |  直到 7 年前
        1
  •  2
  •   Titian Cernicova-Dragomir    7 年前

    在这种情况下,两者中的任何一个都应该同样有效,并且不太可能在将来中断。

    查找类型将您绑定到特定的 props 属性,将不适用于功能组件。虽然不太可能,但如果密钥的名称发生更改,您可能会遇到问题。

    因为react定义提供了一个专用的条件类型来提取道具,所以我更喜欢这样。

    推荐文章