typescript - 使用打字稿模板文字类型反应 PropTypes
问题描述
Typescript 4.1 允许使用可用于模拟简单正则表达式模式的模板文字类型,因此我可以断言某些类型的字符串而不是任何字符串。
假设我有以下类型:
type percentStr = `${number}%`;
type relativeOrAbsStr = number | `${number | percentStr}${number | ''}`;
可以是一个数字、一个数字字符串,后跟 % 以及可选的另一个数字:
示例 ok: 33
(number), '33%'
, '10%330'
,'500%30'
示例错误: '23'
(string-number not 其次是 %)
但是 - 如果尝试使用 PT.string 作为选项,PropTypes 会抱怨,因为这种类型不能是任何字符串,它应该是特定形状的字符串。
import PT from 'prop-types';
type myStr:relativeOrAbsStr = PT.oneOfType([PT.string, PT.number])
// Type 'string' is not assignable to type 'relativeOrAbsStr'.
目前,作为一种解决方法,我使用as any
断言:
type myStr:myStr:relativeOrAbsStr = PT.oneOfType([PT.string as any, PT.number]),
如何为我的模板字符串文字类型定义适当的 prop-types 类型?
解决方案
推荐阅读
- amazon-web-services - 如何使用一个 ansible 命令重置多个 AWS 帐户的 IAM 用户密码
- android - CollapsingToolbarLayout 过度滚动并卡住
- c# - 如何将列表从方法传递到另一个方法
- docker - 链接命令时 Docker 运行使用主机 PATH
- java - 如何通过按钮单击从 jsp 页面停止 servlet 处理
- html - 如何仅使用css根据图像宽度为父级设置动态宽度
- c++ - 为什么互斥引用上的 lock_guard 会产生 C26110
- python - 是否有python函数可以在部分已知的字符串中查找未知值?
- json - 从活动响应 Azure 数据工厂设置变量
- python - 将未定义的列表合并为一个列表