如何解决如何在ReactJS中的第二次单击上撤消OnClick函数
我已经编码了一个OnClick函数,该函数可以打开一个窗口,其中包含所选对象的详细说明。
但是,窗口始终保持打开状态,要删除它,您必须刷新页面。我想通过撤消第一次单击时调用的函数来确保在第二次单击时页面返回的像以前一样。
const setActiveTutorial = (tutorial,index) => {
setCurrentTutorial(tutorial);
setCurrentIndex(index);
};
...
{tutorials &&
tutorials.map((tutorial,index) => (
<TableRow
className={
"list-group-item " + (index === currentIndex ? "active" : "")
}
onClick={() => setActiveTutorial(tutorial,index)}
key={index}
>
<TableCell>{tutorial.title}</TableCell>
<TableCell>{tutorial.size}</TableCell>
<TableCell>{tutorial.country}</TableCell>
...
解决方法
如果要使用相同的功能,只需添加一个条件即可,如果currentTutorial
已经有一个值,则它将关闭页面
const setActiveTutorial = (tutorial,index) => {
if(currentTutorial === tutorial){
setCurrentTutorial(null)
set setCurrentIndex(-1) //or whatever initial value
}
else{
setCurrentTutorial(tutorial);
setCurrentIndex(index);
};
这假设您在当前教程处于活动状态时无法单击其他教程。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。