javascript - FlowJS - 数字......与字符串不兼容
问题描述
有人可以解释为什么我在这段代码中出现以下 FlowJS 错误吗?
数字1与字符串 [2] 不兼容
如果我删除 final map()
,流程错误就会消失:
function splitKey(key: string | Array<string | number>): Array<any> {
const arr = typeof key === 'string' ? key.split('.') : key;
return arr.length === 1 && arr[0] === '' ? [] : arr;
}
更奇怪的是,如果我将值映射到它们自己(map(k => k)
),它会触发错误。在这种情况下,映射值是什么让 Flow 感到困惑?
function splitKey(key: string | Array<string | number>): Array<any> {
const arr = typeof key === 'string' ? key.split('.') : key;
return arr.length === 1 && arr[0] === '' ? [] : arr.map(k => k);
}
解决方案
感谢flow 的 playground,我们可以看到这个错误出现在 0.83.0 但在 0.84.0
不幸的是,我在发行说明中没有看到与此问题相关的任何内容,因此根本原因仍然未知。
推荐阅读
- java - How can you automatically select a listcell when one of its internal components receives focus?
- android - Rxjava while循环获取数据库对象并上传到服务器
- python - 尝试从带有熊猫的对象数据类型的csv中导入所有列
- swift - 按子节点快速过滤firebase数据
- javascript - 如何运行 php 函数并使用 javascript/jquery 在页面上显示内容?
- reactive-programming - Mono\Flux 上的地图和订阅之间的区别?
- redux - 如何枚举给定关系模式的所有可能关联?
- r - 使用 data.table 根据另一列重新分配一列
- r - 提供更多独特价值的列表的最佳组合
- kubernetes - 是否有选择 Ingress 规则的顺序?