这里使用了什么 Javascript 功能?
What Javascript feature is being used here?
我正在研究 React 和 Apollo JS 并遇到了这种语法。
下面声明的 Launches 使用了什么 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 函数组件,类型为 LaunchesProps 作为它接收的道具的类型。
我正在研究 React 和 Apollo JS 并遇到了这种语法。
下面声明的 Launches 使用了什么 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 函数组件,类型为 LaunchesProps 作为它接收的道具的类型。