我正在学习React和ApolloJS,并发现了这种语法。
下面声明Launchs时使用了什么JS功能?
const Launches: React.FC<LaunchesProps> = () => {
const {
data,
loading,
error
} = useQuery<
GetLaunchListTypes.GetLaunchList,
GetLaunchListTypes.GetLaunchListVariables
>(GET_LAUNCHES);
if (loading) return <Loading />;
if (error) return <p>ERROR</p>;
if (!data) return <p>Not found</p>;
return (
<Fragment>
<Header />
{data.launches &&
data.launches.launches &&
data.launches.launches.map((launch: any) => (
<LaunchTile key={launch.id} launch={launch} />
))}
</Fragment>
);
}
这是Typescript而不是Javascript,它是一个静态类型注释。
它将该函数类型为React function Component,并将LaunchersProps类型作为它接收的道具类型。