Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/86.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 当用户在react.s中选择来自api的列表项时,如何切换类?_Javascript_Html_Css_Reactjs - Fatal编程技术网

Javascript 当用户在react.s中选择来自api的列表项时,如何切换类?

Javascript 当用户在react.s中选择来自api的列表项时,如何切换类?,javascript,html,css,reactjs,Javascript,Html,Css,Reactjs,我正在开发一个应用程序,其中通过使用map方法通过循环呈现DB结果。 当用户单击每个项目时,首先会将这些id添加到数组中,并切换CSS类以更改特定选定项目的边框颜色,当再次选择该项目时,边框将消失,UI中呈现的所有项目也是如此。将id添加到数组中工作正常 我在切换CSS样式以更改单击每个项目时的边框颜色时遇到问题 下面是我在DOM上呈现项目的代码 const[selectedItems,setSelectedItems]=React.useState([] const onClickHandle

我正在开发一个应用程序,其中通过使用map方法通过循环呈现DB结果。 当用户单击每个项目时,首先会将这些id添加到数组中,并切换CSS类以更改特定选定项目的边框颜色,当再次选择该项目时,边框将消失,UI中呈现的所有项目也是如此。将id添加到数组中工作正常

我在切换CSS样式以更改单击每个项目时的边框颜色时遇到问题

下面是我在DOM上呈现项目的代码

const[selectedItems,setSelectedItems]=React.useState([]
const onClickHandler=(id)=>{
如果(选择editems.indexOf(id)>-1){
让updateItems=selectedItems.filter(itemID=>itemID!==id)
console.log(updatedItems);
setSelectedItems(updateEdItems)
}否则{
setSelectedItems(prevState=>[…prevState,id])
}
setOpen(真);
}
{
courses.length>0&&courses.map(课程=>{
返回(
)
})
}
函数CourseItem({course,onClickHandler}){
const classes=useStyles();
返回(
onClickHandler(课程号)}/>
{/*{course.level}*/}
{course.moduleName}
{course.description}
)
}

您可以在两种不同的情况下使用两个不同的类。然后使用
clsx
有条件地应用类


clsx link->

您提到需要更改所选元素的边框颜色,但我在代码中没有看到这样做的尝试,我没有看到任何地方引用了边框样式,除非您在
对象中有您不共享的边框样式