我正在关注YouTube上的3D投资组合教程,结果发现自己犯了这个错误.在这里,我试图渲染一个网格,但控制台显示一条警告:"此元素在此浏览器中无法识别".浏览器正在呈现其余部分,但这部分代码没有呈现. 以下是代码块:
const Computers = () => {
const computer = useGLTF("./desktop_pc/scene.gltf");
console.log(computer);
return (
<mesh>
<hemisphereLight intensity={0.15} groundColor="black" />
<pointLight intensity={1} />
<primitive
object={computer.scene}
scale={0.75}
position={[0, -3.25, 1.5]}
rotation={[-0.01, -0.2, -0.1]}
/>
</mesh>
);
};
const ComputersCanvas = () => {
return (
<Canvas
frameloop="demand"
shadows
camera={{
position: [20, 3, 5],
fov: 25,
}}
gl={{ preserveDrawingBuffer: true }}>
<Suspense fallback={<CanvasLoader />}>
<OrbitControls
enableZoom={false}
maxPolarAngle={Math.PI / 2}
minPolarAngle={Math.PI / 2}
/>
<Computers />
</Suspense>
<Preload all />
</Canvas>
);
};
export default Computers;
这些是我收到的警告
- 警告:<;hemisphereLight/>;使用的大小写不正确.对于Reaction组件使用PascalCase,对于HTML元素使用小写.
- 警告:此浏览器中无法识别标记<;hemisphereLight>;.如果要渲染Reaction组件,则其名称以大写字母开头.
- 警告:Reaction不识别DOM元素上的
groundColor
props .如果您有意希望它以自定义属性的形式出现在DOM中,请将其拼写为小写groundcolor
.如果意外地从父组件传递了它,请将其从DOM元素中删除 - 警告:<;point Light/>;使用了错误的大小写.使用PascalCase表示Reaction组件,或使用小写表示HTML元素
- 警告:此浏览器中无法识别标记<;point Light>;.如果要渲染Reaction组件,则其名称以大写字母开头.
- 警告:在此浏览器中无法识别标记<;基本>;.如果要渲染Reaction组件,则其名称以大写字母开头.
- 警告:此浏览器中无法识别标记<;Mesh>;.如果要渲染Reaction组件,则其名称以大写字母开头.
有谁能解决这个问题.谢谢!!