Typescript 材质UI网格-类型脚本网格动态间距警告
Typescript给我一个关于间距值的错误:Typescript 材质UI网格-类型脚本网格动态间距警告,typescript,material-ui,Typescript,Material Ui,Typescript给我一个关于间距值的错误: TS2322:类型“number”不能分配给类型“boolean | 7 | 2 | 10 | 1 | 3 | 4 | 5 | 6 | 8 |“auto”| 9 | 11 | 12”。 未发现任何lint错误 版本:typescript 3.5.2,tslint 5.14.0 迭代一个数组并设置一个xl,lg。。依此类推 {row.map(resumeItem=> ... )} 当然space属性是一个数字 您收到此typescript错误的
TS2322:类型“number”不能分配给类型“boolean | 7 | 2 | 10 | 1 | 3 | 4 | 5 | 6 | 8 |“auto”| 9 | 11 | 12”。
未发现任何lint错误
版本:typescript 3.5.2,tslint 5.14.0
迭代一个数组并设置一个xl,lg。。依此类推
{row.map(resumeItem=>
...
)}
当然space
属性是一个数字 您收到此typescript错误的原因是您的空格
属性允许任何数字,但xl
属性只允许数字的子集(特别是任何整数1-12)。例如,您可以将数字“17.2”分配给空格
,这是一个完全可以接受的值,但分配给xl
则不是一个可以接受的值
解决此问题的最佳方法是将空格
的数字
类型定义更改为类似xl
道具的类型定义,即
space: 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12
当然,这可能会产生一些上游影响,具体取决于您如何为其赋值
您也可以按照评论者的建议,将空格
转换为任意
。。。请注意,这实际上是在禁用此实例的类型检查,您将失去Typescript检测是否将可能不兼容的值传递给xl
的能力。这是一个只有你才能决定是否值得的权衡。感谢大家。
如果我尝试使用这种方法:
空格:1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 12
这个问题没有解决。如果我使用的是一个hoc接口也不起作用,那么目前我使用的是any
方法
谢谢大家! 尝试xl={resumeItem.space as any}
或xl={resumeItem.space as 7}