javascript - Reactstrap Collapse 在 React 组件中不起作用
问题描述
我一直在尝试让我的 React 组件与 Collapse 一起使用,但我似乎无法让我的组件正确折叠。现在它会在单击 div 时暂时折叠,但它会自动重新打开,实际上不会折叠任何所需的信息。该组件采用多个“模块”并将它们变成自己的卡片。我尝试使用按钮而不是 div 作为“onClick”,并尝试使用和不使用 reactstrap Card 和 CardBody 组件。
我在想 useState 钩子不知何故迷失了我的其他道具?任何帮助,将不胜感激。
import React, { useState } from "react";
import { Container, Collapse, Card, CardBody } from "reactstrap";
import ReplayCard from "./ReplayCard";
import AttachmentCard from "./AttachmentCard";
const ModuleCard = (props) => {
const module = props.cardID;
const [isOpen, setIsOpen] = useState(false);
const toggle = () => setIsOpen(!isOpen);
return (
<div className="moduleCard">
<div onClick={toggle}>
<h2>{module.m_title}</h2>
<h5>Replay Date: {module.m_date}</h5>
</div>
<Collapse isOpen={isOpen}>
<h5>
{module.m_description}
</h5>
<h3>{module.m_title} Video(s)</h3>
<Container className="ReplayCard" fluid={true}>
{module.m_replay &&
module.m_replay.map((value, index) => {
return (
<ReplayCard
key={index}
cardID={index}
video={value.video}
text={value.text}
/>
);
})}
</Container>
<h3>{module.m_title} Link(s)</h3>
<Container className="AttachmentCard" fluid={true}>
{module.m_attachment &&
module.m_attachment.map((value, index) => {
return (
<AttachmentCard
key={index}
cardID={index}
text={value.text}
link={value.link}
/>
);
})}
</Container>
</Collapse>
</div>
);
};
export default ModuleCard;
当将console.log 插入togged 时,useState 似乎确实从true 变为false,但实际上并未触发任何更改。
解决方案
推荐阅读
- oracle - 创建触发器以从 toad/oracle 中的表中删除时发送电子邮件。有没有办法可以捕获哪个用户删除了记录?
- jira - “服务:需要服务。” - 无法创建 jira 服务台项目问题
- assembly - 为什么 ALU 结果将地址写入 R-Type 指令的内存?
- multithreading - 为什么线程函数的参数是引用,编译器失败了?
- python - optimize.minimize 与 for 循环 - python,pandas
- here-api - 此处的地图请求自动完成建议格式化标签用于本地化地址格式
- iis - IIS URL 重写响应标头
- graphics - 如何进行一个月的客户细分并查看过滤的客户编号?
- docker - 如何向网络外的 Docker Swarm 集群添加工作人员/管理人员?
- java - 为什么 JAXB 找不到 XML 行数?