javascript - 我想在 React 中显示 Snack Bar
问题描述
这是单击按钮时调用的函数。
handleClick() {
var x = document.getElementById("snackbar");
x.className = "show";
setTimeout(function () {
x.className = x
.className
.replace("show", "");
}, 3000);
return (
<div id="snackbar">DONE</div>
)
}
这是我的点击onClick={this.handleClick}
它向我显示了一个错误“未捕获(承诺)TypeError:无法设置属性'className' of null”我做错了什么。感谢所有帮助。
解决方案
TypeError:无法将属性“className”设置为空”
意味着您正在尝试访问空变量中的类名属性。
如果var x = document.getElementById("snackbar");
没有结果,则返回null,x等于null。之后添加 console.log(x)var x = document.getElementById("snackbar");
以便您可以测试它是否来自这里。
它可能是由以下原因引起的:
Invalid HTML syntax (some tag is not closed or similar error)
Duplicate IDs - there are two HTML DOM elements with the same ID
Maybe element you are trying to get by ID is created dynamically (loaded by ajax or created by script)?
推荐阅读
- java - 修改 LocalTimeDate 对象中的时间
- wpf - WPF DataGrid,不显示列标题文本
- ssh - (通道 2:打开失败:连接失败:连接被拒绝) ssh 隧道进入 HPC 集群以远程运行 jupyter notebook
- jupyter-notebook - JupyterLab:两次打开同一个笔记本
- python - Discord.py - 如何在服务器会员资格一个月后分配角色?
- docker - 如何在 GCP 中使用 cloudbuild.yaml 创建 CI/CD 管道?
- c - problem extracting the length of an array of characters from a pointer
- mongodb - Mongo addFields 从嵌套数组中获取值
- bash - 重构我的 shell scipts:调用脚本并将输出重定向到循环内的新文件
- python - 在财务报表文本文件中查找正确的单词和行