首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >仅当用作导出组件的根时,组件才需要类型批注

仅当用作导出组件的根时,组件才需要类型批注
EN

Stack Overflow用户
提问于 2019-10-30 21:25:52
回答 1查看 44关注 0票数 0

如果我要在导出的组件中使用一个组件,Flow需要我对它进行注释,但只有当未注释的组件被呈现为导出组件的根时,才会发生这种情况。

代码语言:javascript
复制
// @flow
import React from 'react';

const ContainerA = props => <div {...props} />;

// This one throws "Missing type annotation for `props`."
const ContainerB = props => <div {...props} />;

type Props = { children: React$Node };


// No type error
export const Ok = (props: Props) => <><ContainerA>{props.children}</ContainerA></>;

// Type error (see ContainerB comment)
export const Ko = (props: Props) => <ContainerB>{props.children}</ContainerB>;

Flow-Try repro

如果我用其他东西(片段、div等)包装未注释的组件,则Flow不需要我对其进行注释。

我知道Flow希望我们对导出的函数、组件等进行注释。但我不是在导出该组件,而是在要导出的组件中使用它。

为什么会这样呢?

EN

回答 1

Stack Overflow用户

发布于 2019-10-31 18:50:28

flow需要知道导出函数的参数和返回类型。

Try

看起来,当你使用像react片段或div流这样的内置东西时,可以在没有显式注释的情况下推断出返回类型。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/58626420

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档