在 NextJs SSR 中操作 DOM onClick

时间:2021-05-09 11:13:17

标签: next.js server-side-rendering

我正在尝试使用 SSR 在 NextJS 上运行一个简单的 DOM 脚本。 我知道 DOM 不适用于 SSR,并且我在变量“菜单”上收到了一个未定义的错误

只是想知道是否有人可以澄清我将如何使用钩子做到这一点?我是 React 和 NextJS 的新手,仍然没有完全掌握钩子。

<div className={styles.menuCon} onClick={menu()} >
 <div></div>
 <div></div>
 <div></div>
</div>
function menu() {
  var menu = document.getElementsByClassName('menu');
  menu.style.width="400px";
  menu.style.height="400px";

 }

1 个答案:

答案 0 :(得分:1)

这样做:

<div className={styles.menuCon} onClick={menu} >
 <div></div>
 <div></div>
 <div></div>
</div>
function menu(event) {
  let menu = event.currentTarget;
  menu.style.width="400px";
  menu.style.height="400px";
 }