Ary*_*thi 8 three.js reactjs react-three-fiber react-three-drei
我正在关注 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;
Run Code Online (Sandbox Code Playgroud)
这些是我收到的警告
groundColor
DOM 元素上的 prop。如果您有意希望它作为自定义属性出现在 DOM 中,请将其拼写为小写groundcolor
。如果您不小心从父组件传递了它,请将其从 DOM 元素中删除任何人都可以解决这个问题吗?谢谢!!
小智 12
我也发生了同样的错误,这就是我修复它的方法。
您当前正在将export default Computer
其更新为export default ComputerCanvas
,这应该可以修复它。
小智 6
您当前正在导出默认计算机。更新为导出默认 ComputerCanvas
那么如果你已经创建了CanvasLoader,它会给出 --index-bb759d07.esm.js:215 R3F 树中不允许文本!这可能是杂散的空格或字符。
所以尝试删除 fallback={<CanvasLoader />
,这修复了所有错误
小智 5
删除修复fallback={<CanvasLoader />
了 <Suspense fallback={<CanvasLoader />}>
我的所有问题,包括计算机对象的刷新问题。
确保使用export default ComputersCanvas;
代替export default Computers;
归档时间: |
|
查看次数: |
6083 次 |
最近记录: |