reactjs - 如何在 Typescript 中使用以数字开头的别名
问题描述
在我的 React 项目里面,theme.ts
我创建了一些别名来定义我的FontSizes
. 我必须对''
键使用引号,否则 Typescript 会抱怨:
fontSizes: {
'xs': '12px',
'sm': '14px',
'md': '16px',
'lg': '18px',
'xl': '20px',
'2xl': '24px',
'4xl': '32px',
'5xl': '48px',
'6xl': '64px',
},
这工作正常。
但是当我想使用一个值2xl
或3xl
类似的值时,font-size: ${theme.fontSizes.2xl};
我会收到以下消息:
An identifier or keyword cannot immediately follow a numeric literal.
解决方案
如 MDN 文档中所述
JavaScript 标识符必须以字母、下划线 (_) 或美元符号 ($) 开头。他们不能以数字开头!只有后续字符可以是数字 (0-9)。
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Errors/Identifier_after_number
您的代码必须遵守这一点,通常最好避免它。
说如果您真的希望对象键以数字开头,那么您可以通过做来使其工作。
font-size: ${theme.fontSizes['2xl']};
推荐阅读
- .net - 使用基于角色的身份验证时不调用自定义 AuthorizationFilter
- c# - 我需要什么访问级别才能访问 v2 api 中的用户完整个人资料和职位?
- python - 在 Pandas 列中有 NaN 的地方,我想用 1 替换,但需要对 1 求和的 Totals 除外
- c# - 无法将 c# .Net Core 3.0 与 directx 9.0 依赖项链接
- ios - 覆盖视图,但将输入向下传播到最低 z-index
- arrays - Excel VBA 编译错误参数在遍历附加到类集合的数组时不是可选的
- python - 如何递归地将项目添加到列表中?
- windows - 如何从命令行获取应用程序文件的属性
- java - 如何将java中的websocket客户端与nodejs中的websocket服务器连接起来?
- scala - 运行时避免 asInstanceOf