Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/grails/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Reactstrap折叠在React组件内不工作_Javascript_Reactjs_React Redux_Reactstrap - Fatal编程技术网

Javascript Reactstrap折叠在React组件内不工作

Javascript Reactstrap折叠在React组件内不工作,javascript,reactjs,react-redux,reactstrap,Javascript,Reactjs,React Redux,Reactstrap,我一直在尝试让我的React组件处理崩溃,但我似乎无法让我的组件正确崩溃。现在,当单击div时,它将临时折叠,但它将自动重新打开,而不会实际折叠所需的任何信息。该组件将多个“模块”转换为自己的卡。我尝试过用按钮代替div来表示“onClick”,并尝试过使用和不使用reactstrap卡和CardBody组件 我在想useState钩子不知怎么会和我的其他道具一起丢失了?任何帮助都将不胜感激 import React,{useState}来自“React”; 从“reactstrap”导入{Co

我一直在尝试让我的React组件处理崩溃,但我似乎无法让我的组件正确崩溃。现在,当单击div时,它将临时折叠,但它将自动重新打开,而不会实际折叠所需的任何信息。该组件将多个“模块”转换为自己的卡。我尝试过用按钮代替div来表示“onClick”,并尝试过使用和不使用reactstrap卡和CardBody组件

我在想useState钩子不知怎么会和我的其他道具一起丢失了?任何帮助都将不胜感激

import React,{useState}来自“React”;
从“reactstrap”导入{Container,Collapse,Card,CardBody};
从“/ReplayCard”导入ReplayCard;
从“/AttachmentCard”导入AttachmentCard;
常量模块卡=(道具)=>{
常量模块=props.cardID;
常量[isOpen,setIsOpen]=useState(false);
常量切换=()=>setIsOpen(!isOpen);
返回(
{module.m_title}
重播日期:{module.m_Date}
{module.m_description}
{module.m_title}视频
{module.m_replay&&
module.m_replay.map((值、索引)=>{
返回(
);
})}
{module.m_title}链接
{module.m_附件&&
module.m_attachment.map((值、索引)=>{
返回(
);
})}
);
};
导出默认ModuleCard;

当一个console.log被插入到togged中时,useState似乎正在从true变为false,但实际上仍然没有触发任何更改。

我看不出使用
useState
有什么问题。尝试将collapse设置为true,
,首先查看此行是否有效。如果有效,则在
const toggle=()
之后放置一个console.log以打印
isOpen
,并查看
onClick
是否触发此标志。布尔变量在单击时会发生更改,但每次单击控制台时,我也会收到以下错误(编辑了我上面的问题,带有警告)你所附的警告清楚地告诉了你这个问题。如果其中任何一个返回的值重复,请检查两个map()。顺便说一句,索引是map中的第二个参数(值,索引)。钥匙道具中有可能传递重复的数据。@SaurabhSharma-谢谢!我知道我错过了一些东西。这似乎解决了这个错误。我必须在将来记下这两个参数。然而,崩盘似乎仍然没有被正确触发。