В подобных ситуациях вы можете использовать оператор $ Keys. $ Ключи
В вашей ситуации:
// @flow
import {FROZEN_LIST} from (...)
type FormData = {
fieldKey: $Keys<typeof FROZEN_LIST.reduce((r,i)=>({...r,...{[i]:i}}), {})>
}
Дайте мне знать, если это сработало.
Было бы лучше, если бы вы могли изменить оригинал FROEZEN_LIST
:
const FROZEN_LIST = Object.freeze({'Value1':'Value1', 'Value2',:'Value2', 'Value3':'Value3'})
// @flow
import {FROZEN_LIST} from (...)
type FormData = {
fieldKey: $Keys<typeof FROZEN_LIST>
}
Вы также можете следовать этой инструкции: Объединение из литерала массива