【发布时间】:2020-08-15 22:53:40
【问题描述】:
我有一个用 React 的useState() 设置的条件类,不知何故,转换不是针对的。它只是跳转到新的类值。
在下面的代码示例中,我试图使其尽可能干净。
随着线
className={`collapse my-navbar-collapse ${toggle ? "show" : ""}`}我设置了班级。
我在这里错过了什么?
header.js
import React, { useState } from "react"
import "./header.sass"
const Header = () => {
const [toggle, setToggle] = useState(false)
return (
<div className={'sticky-top'}>
<button
className="btn navbar-toggler"
type="button"
onClick={ () => setToggle(!toggle) }
>
button stuff
</button>
<div className={`collapse my-navbar-collapse ${toggle ? "show" : ""}`}>
rest of my stuff
</div>
</div>
)
}
export default Header
header.sass
.my-navbar-collapse
background-color: red
transition: all 2s ease
height: 0
&.show
height: 100vh
(当一切正常时,我会将transition: all 2s ease 从all 更改为height。我只想先为这个测试捕获每一个 :)
【问题讨论】:
-
React 部分对我来说看起来不错,我猜问题出在 CSS 中,那么
collapse类呢?你检查了吗? -
@Makan,是的,就是这样。我将引导方法更改为自己的方法。但是
collapse和show(绝对是组合)问题出在哪里。删除了类并添加了新的独特类,它的动画效果很好。 (不顺利,但它有效)如果您可以将其添加为答案,我会接受它。谢谢! -
不,它现在已经消失了。等等,什么?它工作了一些刷新。现在不是 :) :) 几个撤消和重做,我找不到它......猜它不是
collapse类 -
您可能想在有问题的 div 上使用 chrome 的计算属性 devtool,看看是否有什么东西覆盖了您正在设置的转换。你也可以在转换之后加上 !important 看看是否能解决问题。
-
@Tim 发生了 :)
标签: javascript css reactjs react-hooks use-state