FlowJS - число ... несовместимо со строкой

1

Может кто-нибудь объяснить, почему я получаю следующую ошибку FlowJS с этим кодом?

номер 1 несовместим со строкой [2]

(белый квадрат вокруг number указывает на ошибку потока) Изображение 174551

Если удалить последнюю 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);
}
  • 1
    проверяя в песочнице, я обнаружил, что эта ошибка возникает для версии 0.83.0, но для версии 0.84.0 все хорошо
  • 0
    Спасибо! Вы не против оставить правильный ответ, потому что это может определенно помочь другим, побуждая их обновляться всякий раз, когда возникают странные проблемы.
Теги:
flowtype

1 ответ

2
Лучший ответ

Благодаря игровой площадке потока, мы видим, что эта ошибка появляется для 0,83.0, но в 0.84.0

К сожалению, я не вижу ничего связанного с этим вопросом в примечаниях к выпуску, поэтому коренная причина пока неизвестна.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню