TypeError:无法读取 null 的属性(读取“useEffect”)[重复]

问题描述 投票:0回答:0

我正在尝试使用 Next.js 从脚本中的页面获取元素 在

index.tsx
中导入文件
board.js
,代码如下:

import React, {useEffect} from "react";

function getElementByID(ID) {
    // Returns an element of a given ID
    // ID: Unique element id
    let elem;
    useEffect(() => {elem = document.getElementById(ID)}, []);
    return elem;
}

let currently_selected = getElementByID('11');

建站失败返回错误

error - TypeError: Cannot read properties of null (reading 'useEffect')
    at useEffect (C:\Users\syhma\WebstormProjects\sudoki-next\node_modules\react\cjs\react.development.js:1634:21)
    at getElementByID (webpack-internal:///./script/board.js:11:53)
    at eval (webpack-internal:///./script/board.js:16:26)
    at Object../script/board.js (C:\Users\syhma\WebstormProjects\sudoki-next\.next\server\pages\index.js:32:1)
    at __webpack_require__ (C:\Users\syhma\WebstormProjects\sudoki-next\.next\server\webpack-runtime.js:33:42)
    at eval (webpack-internal:///./pages/index.tsx:11:74)
    at Object../pages/index.tsx (C:\Users\syhma\WebstormProjects\sudoki-next\.next\server\pages\index.js:22:1)
    at __webpack_require__ (C:\Users\syhma\WebstormProjects\sudoki-next\.next\server\webpack-runtime.js:33:42)
    at __webpack_exec__ (C:\Users\syhma\WebstormProjects\sudoki-next\.next\server\pages\index.js:72:39)
    at C:\Users\syhma\WebstormProjects\sudoki-next\.next\server\pages\index.js:73:28
    at Object.<anonymous> (C:\Users\syhma\WebstormProjects\sudoki-next\.next\server\pages\index.js:76:3)
    at Module._compile (node:internal/modules/cjs/loader:1105:14)
    at Object.Module._extensions..js (node:internal/modules/cjs/loader:1159:10)
    at Module.load (node:internal/modules/cjs/loader:981:32)
    at Function.Module._load (node:internal/modules/cjs/loader:822:12)
    at Module.require (node:internal/modules/cjs/loader:1005:19)
    at require (node:internal/modules/cjs/helpers:102:18)
    at Object.requirePage (C:\Users\syhma\WebstormProjects\sudoki-next\node_modules\next\dist\server\require.js:88:12)
    at C:\Users\syhma\WebstormProjects\sudoki-next\node_modules\next\dist\server\load-components.js:48:73
    at async Object.loadComponents (C:\Users\syhma\WebstormProjects\sudoki-next\node_modules\next\dist\server\load-components.js:48:26)
    at async DevServer.findPageComponents (C:\Users\syhma\WebstormProjects\sudoki-next\node_modules\next\dist\server\next-server.js:563:36)
    at async DevServer.findPageComponents (C:\Users\syhma\WebstormProjects\sudoki-next\node_modules\next\dist\server\dev\next-dev-server.js:1041:20)
    at async DevServer.renderPageComponent (C:\Users\syhma\WebstormProjects\sudoki-next\node_modules\next\dist\server\base-server.js:951:24)
    at async DevServer.renderToResponse (C:\Users\syhma\WebstormProjects\sudoki-next\node_modules\next\dist\server\base-server.js:980:32)
    at async DevServer.pipe (C:\Users\syhma\WebstormProjects\sudoki-next\node_modules\next\dist\server\base-server.js:407:25)
    at async Object.fn (C:\Users\syhma\WebstormProjects\sudoki-next\node_modules\next\dist\server\next-server.js:759:21)
    at async Router.execute (C:\Users\syhma\WebstormProjects\sudoki-next\node_modules\next\dist\server\router.js:253:36)
    at async DevServer.run (C:\Users\syhma\WebstormProjects\sudoki-next\node_modules\next\dist\server\base-server.js:384:29)
    at async DevServer.run (C:\Users\syhma\WebstormProjects\sudoki-next\node_modules\next\dist\server\dev\next-dev-server.js:743:20)
    at async DevServer.handleRequest (C:\Users\syhma\WebstormProjects\sudoki-next\node_modules\next\dist\server\base-server.js:322:20) {
  page: '/'
}

我期待它返回一个元素。

javascript next.js
© www.soinside.com 2019 - 2024. All rights reserved.