【发布时间】:2020-09-06 16:23:36
【问题描述】:
我即将创建一个可以选择尺寸的功能。当您仅将 JavaScript 与 HTML 一起使用时,它就可以工作。我的 JavaScript 函数语法是否正确?因为我从 Next.js 收到一个错误。
Here 是我从 Next.js 收到的错误消息。
import React from "react";
const ChangeSize = () => {
const sizes = document.querySelectorAll(".size");
function changeSize() {
sizes.forEach((size) => size.classList.remove("active"));
this.classList.add("active");
}
sizes.forEach((size) => size.addEventListener("click", changeSize));
return (
<div className='size-container'>
<h3 className='title'>size</h3>
<div className='sizes'>
<span className='size'>7</span>
<span className='size'>8</span>
<span className='size active'>9</span>
<span className='size'>10</span>
<span className='size'>11</span>
</div>
</div>
);
};
export default ChangeSize;
【问题讨论】:
-
嘿 Morten,您正在使用功能性反应组件,因此“this”关键字可能不起作用。您可以像添加一样删除类。
-
应该是
size.classList.add(...)?
标签: javascript reactjs next.js jsx