给无状态功能组件一个打字稿类型的正确方法是什么

时间:2019-09-14 00:46:07

标签: reactjs typescript

是否仅使用React.FC类型?

import React from 'react'

const MyComponent: React.FC = () => (
  ...
);

export default MyComponent;

2 个答案:

答案 0 :(得分:2)

是的,您也可以使用FunctionComponentFC实际上只是一个别名。 SFC已过时。

答案 1 :(得分:1)

在使用带有TypeScript的React Functional组件时,您应该定义generics并将其与功能组件一起使用。

这将在构建组件时提供额外的安全保护,从而使您可以更快地发现错误。

interface MyProps {
  value: string,
}

const MyComponent: React.FC<MyProps> = (props) => {
  const { value } = props;

  return <span>{value}</span>;
}

类似地,您可以将泛型用于常规的React组件。