Может кто-нибудь объяснить, почему я получаю следующую ошибку FlowJS с этим кодом?
номер 1 несовместим со строкой [2]
(белый квадрат вокруг
number
указывает на ошибку потока)
Если удалить последнюю 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);
}
Благодаря игровой площадке потока, мы видим, что эта ошибка появляется для 0,83.0, но в 0.84.0
К сожалению, я не вижу ничего связанного с этим вопросом в примечаниях к выпуску, поэтому коренная причина пока неизвестна.