React在TS中声明函数组件的方式与区别

方式一
1
const Component: React.FC<ComponentProps> = (props) => {}

使用React.FC的好处是类型定义更为明确,可以清楚地看出这是一个React函数组件。此外,React.FC还自动为props添加了children属性,所以如果你的组件需要接收children,这种方式会更方便。

然而,React.FC也有一些缺点。首先,它不能很好地支持默认props。其次,由于React.FC自动添加了children属性,如果你的组件不应该接收children,这可能会导致类型错误。

方式二
1
const Component = (props: IProps) => {}

这种方式的好处是更加灵活,你可以完全控制props的类型。此外,它也更好地支持默认props。

总结

总的来说,哪种方式更好取决于你的具体需求。如果你需要更明确的类型定义,或者你的组件需要接收children,那么React.FC可能是更好的选择。如果你需要更大的灵活性,或者你的组件不应该接收children,那么直接定义props类型可能