reactjs - 组件仅在用作导出组件的根时才需要类型注释
问题描述
如果我要在导出的组件中使用它,Flow 要求我对组件进行注释,但这仅在未注释的组件被呈现为导出组件的根时才会发生。
// @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>;
如果我用其他东西(片段、div 等)包装未注释的组件,那么 Flow 不需要我对其进行注释。
我知道 Flow 希望我们对导出的函数、组件等进行注释……但我没有导出该组件,而是在要导出的组件中使用它。
为什么会这样?
解决方案
推荐阅读
- c++ - 新指针和简单指针有什么区别
- python - 图像拼接
- java - 遇到 java.net.BindException:服务器-客户端套接字应用程序上的地址已在使用中(绑定失败)
- ansible - 如何与 Ansible 并行配置 apache vhost
- ruby-on-rails - Rails 事务不是原子的?
- rust - nixos:我的自定义包派生在“货物构建”上失败
- scala - 在 Sbt 中包含来自外部存储库的资源
- node.js - WebRTC通过node.js服务器一对多流?
- c++ - 如何让通用 C++ 编译器打印某行所在的命名空间?
- c - 在未发出条件变量的情况下设置 settimer() 和 SIGALRM