我是TypeScript的新手,正在移植一个reactjs项目。样式弹出一些错误,包括tableLayout,borderCollapse和userSelect属性。
做一些谷歌搜索产生了这种错误的解释: https://github.com/Microsoft/TypeScript/issues/18744 https://github.com/Microsoft/TypeScript/issues/11465
我能够摆脱类型强制的错误,例如
const someStyle = {
...
userSelect: 'none' as 'none',
...
}
似乎@ types / react使用frenic / CSSType。这些错误是否代表了他们打字风格的遗漏,或者我做错了什么?它们应该在那里报道吗?
答案 0 :(得分:0)
据我所知,这不是遗漏或你所做过的事情的结果。你甚至可以说这是因为类型太特定,但实际上这是打字稿本身的限制。
正如first issue提到的那样,在声明对象文字时给出的类型是一个问题(具体来说,持有字符串的对象字段被赋予类型string
而不是它们的文字类型)。
这不是可能会改变的东西,因为已经有一个不太可怕的解决方法(你演示的类型转换)。而且,从那个问题(靠近底部):
我们目前没有计划改变设计。我们已经有了 关于如何推断文字类型和当前的多次迭代 设计似乎是我们可以达到的最佳折衷方案。
所以最终,这是我们必须要忍受的。 ¯\ _(ツ)_ /¯