等同于 Flow 中的 TypeScript 记录?
Equivalent of TypeScript Record in Flow?
TypeScript 提供实用程序类型 Record
,我正在寻找它在 Flow 中的等价物。
我试过:{ [key: KeyType]: Value }
但该定义具有不同的语义。
与 TypeScript 几乎相同的等价物:
// @flow
type Record<T, V> = {
[T]: V
}
从 TypeScript 文档中提取示例:
type ThreeStringProps = Record<'prop1' | 'prop2' | 'prop3', string>
const test: ThreeStringProps = {
prop1: 'test',
prop2: 'test',
prop3: 'test',
}
// Fails because prop3 is not a string
const failingTest: ThreeStringProps = {
prop1: 'test',
prop2: 'test',
prop3: 123,
}
// Fails because `prop4` isn't a valid property
const failingTest2: ThreeStringProps = {
prop1: 'test',
prop2: 'test',
prop3: 'test',
prop4: 'test',
}
您可以在 Try Flow 上看到实际效果。
TypeScript 提供实用程序类型 Record
,我正在寻找它在 Flow 中的等价物。
我试过:{ [key: KeyType]: Value }
但该定义具有不同的语义。
与 TypeScript 几乎相同的等价物:
// @flow
type Record<T, V> = {
[T]: V
}
从 TypeScript 文档中提取示例:
type ThreeStringProps = Record<'prop1' | 'prop2' | 'prop3', string>
const test: ThreeStringProps = {
prop1: 'test',
prop2: 'test',
prop3: 'test',
}
// Fails because prop3 is not a string
const failingTest: ThreeStringProps = {
prop1: 'test',
prop2: 'test',
prop3: 123,
}
// Fails because `prop4` isn't a valid property
const failingTest2: ThreeStringProps = {
prop1: 'test',
prop2: 'test',
prop3: 'test',
prop4: 'test',
}
您可以在 Try Flow 上看到实际效果。