Reactjs 作为两个阵列之一的react支柱的流量类型 type-PropTypes={ myProp:Array | Array }

Reactjs 作为两个阵列之一的react支柱的流量类型 type-PropTypes={ myProp:Array | Array },reactjs,flowtype,Reactjs,Flowtype,如果如上所示使用PropTypes创建一个component,我总是会得到以下错误: type PropTypes = { myProp: Array<{a: string}> | Array<{a: number}> } myProp:*数组*|数组, 您使用的是哪个版本的flow? 用v0.59.0尝试了这个,它就可以工作了 也许你可以尝试以下方法(注意): type-PropTypes={ myProp:Array, } 或者更清楚一点(注意): 类型ASt

如果如上所示使用PropTypes创建一个component,我总是会得到以下错误:

type PropTypes = {
  myProp: Array<{a: string}> | Array<{a: number}>
}
myProp:*数组*|数组,

您使用的是哪个版本的
flow

v0.59.0
尝试了这个,它就可以工作了

也许你可以尝试以下方法(注意):

type-PropTypes={
myProp:Array,
}
或者更清楚一点(注意):

类型AString={a:string};
类型ANumber={a:number};
类型PropTypes={
myProp:Array,
};

您使用的是哪个版本的
flow

v0.59.0
尝试了这个,它就可以工作了

也许你可以尝试以下方法(注意):

type-PropTypes={
myProp:Array,
}
或者更清楚一点(注意):

类型AString={a:string};
类型ANumber={a:number};
类型PropTypes={
myProp:Array,
};

我最终使用了一种变通方法。我没有使用map,而是使用迭代(var i=0…):
我最终使用了一种变通方法。我没有使用map,而是使用迭代(var i=0…):

myProp: *Array<{a: string}>* | Array<{a: number}>,
<<< object type. This type is incompatible with
myProp: Array<{a: string}> | *Array<{a: number}>*,
function foo(x: Array<First> | Array<Second>): string {
  return String(x[0]['a']);
}
No errors!
type PropTypes = {
  myProp: Array<{a: string}> | Array<{a: number}>
}

class TestComponent extends Component<PropTypes> {
  render () {
    this.props.myProp.map(prop => prop)
    return 'whatever'
  }
}