【发布时间】:2021-08-22 18:34:52
【问题描述】:
我的 css 转换有问题,我使用样式化组件,元素根据 onClick 来回触发的 react useState 的变化添加其 className,
这是代码中没有按预期工作的部分:
export const SearchProduct = ({ product }) => {
const [descStatus, setdescStatus] = useState(false);
const handleDesc = () => {
setdescStatus(!descStatus);
};
return (
<li>
<Item>
<Photo>
<img src={`${product.productImg}`} alt={product.productTitle}></img>
</Photo>
<Information>
<h3> {product.productTitle} </h3>
<Desclook>
<div className={descStatus ? 'active' : null} onClick={handleDesc}>
{descStatus ? 'Close' : 'See Desc ...'}
</div>
</Desclook>
{descStatus && (
<Description --> this is part that dont work
className={descStatus ? 'showContent content' : 'content'}
>
{product.productDesc}
</Description>
)}
这是样式化组件部分:
const Description = styled.p`
margin: 10px;
padding: 0;
transition: all 0.3s ease-in-out;
&.content {
height: 0;
overflow: hidden;
}
&.showContent {
height: 70px;
overflow-y: scroll;
}
`;
有没有人知道我的代码在这里发生了什么,因为我对反应和样式组件有点陌生
【问题讨论】:
标签: css reactjs react-hooks css-transitions styled-components