javascript – 如何使用Flow键入默认导出?

前端之家收集整理的这篇文章主要介绍了javascript – 如何使用Flow键入默认导出?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
如何使用Flow键入默认导出? Flow有办法实现这个目标吗?

期望的结果:

// index.js
type complexThing = {
  a: string
}
type Thing = {
  x: number,y: boolean,z: complexThing
}

export default {
 x: 0,y: true,z: {a: 'hello'}
} : Thing // this says my default export is a Thing

可接受的替代方案:

或者,我不介意内联键入每个对象属性,但我认为这在语法上是不可能的:

export default {
 // I don't know how to add type signatures here
 x: 0,// number
 y: true,// boolean
 z: {a: 'hello'} // complexThing
}

不是我想要的:

我不想做的是将一个变量存储到Flow类型:

// index.js
type complexThing = {
  a: string
}
type Thing = {
  x: number,z: complexThing
}

const myThing: Thing = {
 x: 0,z: {a: 'hello'}
}

export default myThing

解决方法

你正在做一个 typecast,所以你需要围绕物体的parens,例如更改
export default {
  x: 0,z: {a: 'hello'}
} : Thing

export default ({
  x: 0,z: {a: 'hello'}
} : Thing)

猜你在找的JavaScript相关文章