【发布时间】:2019-10-02 09:38:09
【问题描述】:
我将 Flow 与 React-Native 一起使用。我遇到了 VSCode 提出的流程问题,我不知道如何更改我的方法以符合流程类型。
/* @flow */
type RandomType = {
id: number,
unit: string,
};
const renderData = (data: RandomType) => { return data.id };
const getRandomTypeOrEmpty = (isempty: boolean): RandomType | {} => {
if (isempty) { return {} }
return { id: 1, unit: 'litres'}
};
const data = getRandomTypeOrEmpty(true);
if (data && data.id ) { renderData(data) };
16: if (data && data.id) { renderData(data) }; ^ 无法调用
data绑定到data的renderData,因为属性id在对象类型 [1] 中缺失,但在RandomType[2] 中存在。
这是我的问题:
我有一个函数可以为我提供 数据,它可以是 RandomType 或 空对象 {}。 然后,我必须调用一个必须接受 RandomType 参数的函数。
所以我根据 data 值和条件调用此函数。 但是,即使永远不会使用不是 RandomType
的数据调用此函数,Flow 仍然会引发问题我该如何解决这个错误?
感谢您的宝贵时间
【问题讨论】:
标签: javascript reactjs react-native flowtype