如何在 React.js 的 HTML 标签(使用切换)中添加或删除 class
How do I add or remove class from HTML tag (using toggle) in React.js
尊敬的 Whosebug 用户。我需要使用 React.js 和 Tailwind 创建暗模式,但是当我的暗模式图标被点击时,我需要添加和删除 HTML 标签中的暗 class(在切换中),但出现错误。
代码
const [isDark, setDark] = useState(false)
const toggleDark = () => {
setDark(!isDark)
const html = document.getElementsByTagName("html")
console.log(html);
html.classList.toggle("dark")
}
<span id='darkmode' className='w-5 h-5 bg-white block
cursor-pointer' onClick={toggleDark}></span>
错误
Cannot read properties of undefined (reading 'toggle')
你可以试试这个:
w-5 h-5 bg-white block cursor-pointer ${isDark ? dark : ''}} onClick={toggleDark}>
document.getElementsByTagName("html")
其实是returns一个数组。 classList
不是数组的 属性,因此它变为未定义。为了实际切换它,获取数组的第一项,这将是 html 元素。
const html = document.getElementsByTagName("html")[0];
尊敬的 Whosebug 用户。我需要使用 React.js 和 Tailwind 创建暗模式,但是当我的暗模式图标被点击时,我需要添加和删除 HTML 标签中的暗 class(在切换中),但出现错误。
代码
const [isDark, setDark] = useState(false)
const toggleDark = () => {
setDark(!isDark)
const html = document.getElementsByTagName("html")
console.log(html);
html.classList.toggle("dark")
}
<span id='darkmode' className='w-5 h-5 bg-white block
cursor-pointer' onClick={toggleDark}></span>
错误
Cannot read properties of undefined (reading 'toggle')
你可以试试这个: w-5 h-5 bg-white block cursor-pointer ${isDark ? dark : ''}} onClick={toggleDark}>
document.getElementsByTagName("html")
其实是returns一个数组。 classList
不是数组的 属性,因此它变为未定义。为了实际切换它,获取数组的第一项,这将是 html 元素。
const html = document.getElementsByTagName("html")[0];