gpt4 book ai didi

javascript - Css 过渡不适用于 React 中的条件渲染

转载 作者:行者123 更新时间:2023-12-05 04:51:11 60 4
gpt4 key购买 nike

我有一个简单的复选框,我想使用 React 显示和隐藏一个 div 以及一些过渡延迟。我可以在不使用 React 时达到相同的效果。但是,当我使用条件渲染来 react 以在单击复选框时渲染 div。它没有显示效果。这是我到目前为止的代码

import { useState } from "react";
import "./styles.css";

export default function App() {
const [checkBox, setCheckBox] = useState(false);
return (
<div className="App">
<input
type="checkbox"
checked={checkBox}
onChange={() => setCheckBox(!checkBox)}
></input>
<h1>Hello CodeSandbox</h1>
<h2>Start editing to see some magic happen!</h2>
{checkBox && (
<div
style={{
opacity: 1,
transition: "height 2s",
transitionTimingFunction: "ease-in"
}}
>
Hey the checkbox is checked
</div>
)}
</div>
);
}

Codesandbox 链接 - https://codesandbox.io/s/reverent-cartwright-gk11s?file=/src/App.js:0-659

非常感谢任何帮助

最佳答案

它对我有用。像这样尝试。

import { useState } from "react";
import "./styles.css";

export default function App() {
const [checkBox, setCheckBox] = useState(false);
return (
<div className="App">
<input
type="checkbox"
checked={checkBox}
onClick={() => setCheckBox(!checkBox)}
></input>
<h1>Hello CodeSandbox</h1>
<h2>Start editing to see some magic happen!</h2>

<div className={checkBox ? "animate show" : "animate"}>
Hey the checkbox is checked
</div>
</div>
);
}

在css文件中...

.animate {
height: 0px;
overflow: hidden;
transition: height 0.5s;
}
.show {
height: 18px;
}

请在此确认。

https://codesandbox.io/s/goofy-moon-ipe7t

关于javascript - Css 过渡不适用于 React 中的条件渲染,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67002377/

60 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com