【问题标题】:Manipulate DOM onClick in NextJs SSR在 NextJs SSR 中操作 DOM onClick
【发布时间】:2024-01-12 14:58:01
【问题描述】:

我正在尝试使用 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";

 }

【问题讨论】:

    标签: next.js server-side-rendering


    【解决方案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";
     }
    

    【讨论】: