我有支持的货币列表
export const CURRENCIES = ['EUR', 'CHF', 'GBP', 'USD', 'DKK'];
这是在 npm 库中定义的。
我有一个 TS 项目,其中我使用货币代码作为货币相关组件。这是当前的实现。
export Interface InputProps extends React.InputHTMLAttributes<HTMLInputElement>{
currency?: 'USD' | 'EUR' | 'GBP'; // current implementation
}
const CurrencyInput = ({ currency = 'EUR'}:InputProps) => {
....
}
但是,在当前实施中,货币道具仅限于“美元”、“欧元”和“英镑”。我想让货币道具动态化,这样它就可以接受 CURRENCIES 数组中的任何货币代码。我更喜欢将支持的货币保留在 npm 库中,这样如果将来我必须更新支持的货币,我只需要在一个地方更新,因为这个货币常量正在多个地方使用。
如果您使用
CURRENCIES
断言声明您的
const
数组,您可以执行以下操作:
export const CURRENCIES = ['EUR', 'CHF', 'GBP', 'USD', 'DKK'] as const;
type Currency = typeof CURRENCIES[number];
// type Currency = "EUR" | "CHF" | "GBP" | "USD" | "DKK"