Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/reactjs/27.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 对象(…)不是useRef钩子上的函数_Javascript_Reactjs_React Hooks - Fatal编程技术网

Javascript 对象(…)不是useRef钩子上的函数

Javascript 对象(…)不是useRef钩子上的函数,javascript,reactjs,react-hooks,Javascript,Reactjs,React Hooks,问题。 每次我尝试使用useRef时,它都会抛出一个错误,uncaughttypeerror:Object(…)不是函数 我试图使用react钩子创建一个3JS场景,但总是出现这个错误。但在过去,我使用基于类的组件来完成它,在那里它工作正常 这是密码 const Updated = () => { var earthMesh, freedomMesh; var scene; var result; const mount = useR

问题。 每次我尝试使用useRef时,它都会抛出一个错误,uncaughttypeerror:Object(…)不是函数

我试图使用react钩子创建一个3JS场景,但总是出现这个错误。但在过去,我使用基于类的组件来完成它,在那里它工作正常

这是密码

    const Updated = () => {
      var earthMesh, freedomMesh;
      var scene;
      var result;
      const mount = useRef(null);       //error here
      const controls = useRef(null);

      const createMe = () => {
        const width = mount.current.clientWidth;
        const height = mount.current.clientHeight;

        var scene = new THREE.Scene();
        scene.background = new THREE.Color(0xdddddd);
        const camera = new THREE.PerspectiveCamera(60, width / height, 1, 5000);
        camera.position.set(0, 25, 25);
      };

      useEffect(() => {
        createMe();
      }, []);

      return (
        <div>
          <div
            style={{
              width: "600px",
              height: "470px",
            }}
            ref={mount}
          />
        </div>
      );
    };

    export default Updated;
const Updated=()=>{
var earthMesh、freedomMesh;
var场景;
var结果;
const mount=useRef(null);//此处出错
const controls=useRef(null);
const createMe=()=>{
常量宽度=mount.current.clientWidth;
常数高度=mount.current.clientHeight;
var scene=new THREE.scene();
scene.background=新的三种颜色(0xDDDD);
常数照相机=新的三透视照相机(60,宽/高,15000);
摄像机位置设置(0,25,25);
};
useffect(()=>{
createMe();
}, []);
返回(
);
};
导出默认更新;

问题在于您的版本
16.5.2

要通过节点升级到最新版本,请执行以下操作:
npm更新

问题在于您的版本
16.5.2

要通过节点升级到最新版本,请执行以下操作:
npm更新

您的react版本是什么?还有dom?我只是检查一下它是旧的。它的16.5.2版本,我如何用其他软件包升级它?你如何导入
useRef
?你的版本是什么?还有dom?我只是检查一下它是旧的。它的16.5.2版本,我如何用其他软件包升级它?你如何导入
useRef
?我正在尝试更新,但它没有执行任何操作就返回了我。在这里,我添加了照片=>您的
包.json
看起来也一样,还是验证更新了?在使用
npm i
更新后,您还必须安装软件包。感谢帮助,我必须重新启动vscode以查看更新后的软件包sim正在尝试更新,但它返回我而不执行任何操作。在这里,我添加了照片=>您的
包.json
看起来也一样,还是验证更新了?在使用
npm i
更新后,您还必须安装这些软件包。感谢您的帮助,我必须重新启动vscode才能查看更新的软件包