【发布时间】:2018-03-17 10:28:06
【问题描述】:
如果我的代码中有这个简单的SectionList 定义:
const s = (
<SectionList
renderItem={({ item }) => <Text>abc</Text>}
renderSectionHeader={({ section }) => <Text>abc</Text>}
sections={[{ data: [1, 2, 3], title: 'abc' }]}
/>
);
并且流程生成此错误消息,它引用整个“标签块”(实际上是从 VSCode 复制粘贴):
[flow] props of React element `SectionList` (This type is incompatible with See also: React element `SectionList`)
这里发生了什么?
编辑我正在使用
flow-bin: 0.56.0
react: 16.0.0
react-native: 0.49.1
EDIT2 所以这个例子可以简化为这个简单的行(不影响错误信息):
<SectionList sections={[]} />;
EDIT3 我刚刚发现流程抱怨 React Native 库中定义的几种类型(主要是缺少泛型类型的类型参数)。我想知道是否应该使用较旧的 flow-bin 版本。有 React Native 和 flow 的兼容性表吗?
【问题讨论】:
-
您使用的是哪个版本的 react-native? react-native 的代码包含 Flow 注释,因此您可以通过查看 SectionList 的代码来准确了解它的预期:github.com/facebook/react-native/blob/…
-
是的......好吧,我仍然不知道。但是,我添加了库版本号。
-
react-native 的 0.49-stable 分支使用
^0.53.0作为其 flow-bin 依赖版本。尝试恢复到 v0.53.0。 github.com/facebook/react-native/blob/0.49-stable/package.json -
我试过了,还是出现错误信息。但是,该应用程序可以完美运行。因此,以后我将忽略此错误消息。
标签: list react-native flowtype