Flow中的可选对象属性

问题描述 投票:0回答:1

Flow版本:v0.114.0

type Arg = Array<{
  someProp: string,
  maybeOptional?: string
}>

const someFunc = (arg: Arg) => {
  return arg
}


type OtherArg = Array<{
  someProp: string,
  maybeOptional: string
}>

const otherFunc = (otherArg: OtherArg) => {
    return someFunc(otherArg)
}

预期行为

提供可选字段时,不会引发错误。用例:可以选择性地执行某些功能的通用组件-我们一直希望拥有该功能的通用组件的特定实现]

实际行为

由于字符串[1]与数组元素的属性someFunc中的未定义[2]不兼容,因此无法将otherArg绑定到arg来调用maybeOptional。>

https://flow.org/try/#0PQKgBAAgZgNg9gdzCYAodAXAngBwKZgCCATgOZgC8RxxAhlgDwDeqYYAznALZ4AKxcHAC4OGYgEsAdqQA0rMF3oAjPAHkcGcXEm0YAfhHsxU0qgC+APnQBjbUY7c8AMQCuk65TAAKWmRElSAEpKCzAWNmI8DBdiSTBfUzN0VGx8MFUMAAs8YgDPEjpGcIcefkFDY2k5NkUsFXVNbV0KiWlzK1RbSXs4LJzXd08vXuzcv3S+saCQsNQASEjo2JLnN2thyYDA83QgA

流版本:v0.114.0类型Arg =数组const someFunc =(arg:Arg)=> {return arg}类型OtherArg = Array

flow
1个回答
0
投票

有关流程回购的问题的答案:

© www.soinside.com 2019 - 2024. All rights reserved.