reactjs - 如何在 Next js 中使用自定义 Javascript
问题描述
来自 React,我真的很困惑。在pages/index.js
中,假设我有一个带有onClick
监听器的按钮,单击该按钮将在console
. 我该如何实施?我希望该页面是静态生成的,并为该按钮提供一些功能。
我遇到很多麻烦的原因是因为在 React 教程甚至我的项目中,如果我需要一些功能,我会这样做:
function handleClick() {
document.body.style.background = "black"
console.log("you clicked") //nothing is logged in console
}
export default function App() {
return(
<button onClick{() => handleClick}>Click Me</button>
)
}
我打算用这个 Next.js 来看看它是如何state
工作的。但我遇到了一个不同的问题。除非我使用inline function
in onClick
,否则它不起作用。如果我使用单独的handleClick
函数,DOM 甚至不会显示我有一个onclick
事件。我了解到这是因为 Nextjs 是在服务器端呈现的,所以它无法访问 DOM 和控制台等。那我该怎么做呢?
我刚从 React 过渡,在每个教程中,这些人都会使用handleClick
func 或其他任何东西来处理事件和东西。但是我在 Next 中找不到解决方案,那么大家是如何处理的呢?因为页面有交互式按钮对吗?那些页面不是静态生成的吗?
解决方案
您忘记了呼叫功能handleClick
:
<button onClick{() => handleClick()}></button>
推荐阅读
- python - 如何在 Python 中查找两个表之间的匹配名称并更新第一个表?
- angular - Angular 应用程序如何在不重新编译的情况下启动?
- c++ - asio::read() 需要很长时间,asio::write 没有问题
- python - 在 python 中使用 print() 删除额外的新行
- android - btsnooz.py 不解析 android BT 日志
- c# - 将数据从datagridview保存到sql c#
- python - 如何使用python删除圆括号之间的所有内容
- java - 在 Android 中使用“日历”指定日期时间范围
- google-chrome - 从注入的按钮打开页面时出现“被阻止”错误
- wso2 - WSO2 API Manager 配置更改主机名