reactjs - TS/React: View['props'] 与 React.ComponentProps
鉴于一个现有的 React 组件(这里是 View),似乎有两种方法可以获取 props 的类型(以防它没有被导出)。
有人能告诉我这两种不同方式的区别吗?
- 查找类型:
View['props'] - 带推断的条件类型:
React.ComponentProps<typeof View>
我为什么要使用其中一个而不是另一个?哪一个是“最佳实践”,我们应该使用?我实际上在流行的开源项目中发现了这两种不同的方式,想知道哪一种是“正确的”。
答案#1
在这种情况下,任何一个都应该同样有效,并且在未来不太可能出现故障。
条件类型更具前瞻性,因为它由 React 团队本身维护,它应该始终提取属性的正确类型。
查找类型将你绑定到类的特定 props 属性,并且对于函数组件不起作用。虽然不太可能,但如果键的名称发生变化,你可能会遇到问题。
由于 React 定义提供了专用的条件类型来提取 props,我会更倾向于使用它。