问题
总结
我正在尝试使用React Three(沿着一些配套的XR库)创建一个VR Web应用程序。
我在生成时遇到TypeScript错误。似乎在构造文本组件时丢失了一些属性(从react-three/drei导入).我有和一些官方演示完全一样的代码,我甚至在那些playground editors中看到了同样的错误,但不知何故,它建立在操场编辑器反正。我正在使用Webpack在我的项目中,利用ts加载器 * 尝试 * 建立我的ts/tsx文件。
错误消息
它试图呈现的TypeScript错误太长,所以很难准确地判断发生了什么。我认为将我的代码(如下)与Text组件的source code(如下)沿着查看会更有帮助。以下是错误消息:
TS 2740:类型“{子级:字符串;位置:编号[];字体大小:编号;颜色:字符串;锚点X:“中心”;锚Y:“middle”; }"缺少类型“选取〈忽略〈扩展颜色〈覆盖〈任何、节点属性〈任何,任何〉〉〉、非函数键〈{ position?:任何;向上?:任何;规模?:任何;旋转?:任何;基质:任何;四元数?:任何;层?:任何;处置?:()=〉无效;}〉〉& { ...;}和事件处理程序& {...;},“颜色”|还有110个|“调试SDF”〉':名字,类型,身份证,材料,还有71个
代码段
下面是我的代码的一个相关片段:
import React from 'react';
import { Text } from '@react-three/drei';
import '@react-three/fiber';
function Button() {
return (
<Text position={[0, 0, 0.06]} fontSize={0.05} color="#000" anchorX="center" anchorY="middle">
Hello, Virtual World!
</Text>
)
}
export default Button;
下面是我参考的官方演示应用程序:
- https://codesandbox.io/s/8i9ro?file=/src/index.tsx:0-1721
- https://codesandbox.io/s/8w8hm?file=/src/App.tsx
屏幕截图
∮我试过∮
- 我尝试查看文本组件的source code
- 对children属性的类型声明性很强-严格地将其定义为React.ReactNode类型
1条答案
按热度按时间zdwk9cvp1#
这个解决方案的权宜之计是在错误上面的行使用
{/* @ts-expect-error */}
来允许构建。在@react-three/drei更新之前,我相信这是唯一的解决方案。以下是
@ts-expect-error
的文档或者,您可以忽略整个文件的所有TypeScript错误。这可以通过在文件顶部添加
// @ts-nocheck
注解来实现。