如何在点击反应时更改 div 的样式?
How to change the style of a div on click in react?
我对反应还很陌生,我正在做一个项目,我想在上面的图片中点击突出显示(更改 css 类名)任何这些列表项。
我查看了堆栈和在线,找不到任何适合我的东西。
这是我到目前为止所做的,当我使用它时 CSS 没有改变,我在控制台日志中收到一条错误消息:“未捕获的类型错误:无法设置 null 的属性(设置 'onclick')"
任何帮助或指点将不胜感激,下面是代码
反应代码
//I just kept in what I'm attempting
const [changeStyle1, setChangeStyle1] = useState(false);
const changeLiStyle = () => {
setChangeStyle1(true);
}
return (
<div>
<ul className='editElectrodeBox'>
<li className={changeStyle1 ? 'electrodeBoxItem selector' : 'electrodeBoxItem'} onClick={changeLiStyle} id='elementOne'>Magnesium</li>
CSS
.editElectrodeBox {
height: 35vh;
list-style: none;
overflow-y: scroll;
background-image: linear-gradient(to left, rgb(162, 234, 142) , rgb(118, 203, 240));
}
.electrodeBoxItem {
padding: 20px;
cursor: pointer
}
.selected {
background-image: linear-gradient(135deg, #f34079 40%, #fc894d);
color: whitesmoke;
}
我认为问题是调用了不正确的类名
所以我会将选择器更改为选中
<li className={changeStyle1 ? 'electrodeBoxItem selected' : 'electrodeBoxItem'} onClick={changeLiStyle} id='elementOne'>Magnesium</li>
而不是
<li className={changeStyle1 ? 'electrodeBoxItem selector' : 'electrodeBoxItem'} onClick={changeLiStyle} id='elementOne'>Magnesium</li>
我对反应还很陌生,我正在做一个项目,我想在上面的图片中点击突出显示(更改 css 类名)任何这些列表项。
我查看了堆栈和在线,找不到任何适合我的东西。
这是我到目前为止所做的,当我使用它时 CSS 没有改变,我在控制台日志中收到一条错误消息:“未捕获的类型错误:无法设置 null 的属性(设置 'onclick')"
任何帮助或指点将不胜感激,下面是代码
反应代码
//I just kept in what I'm attempting
const [changeStyle1, setChangeStyle1] = useState(false);
const changeLiStyle = () => {
setChangeStyle1(true);
}
return (
<div>
<ul className='editElectrodeBox'>
<li className={changeStyle1 ? 'electrodeBoxItem selector' : 'electrodeBoxItem'} onClick={changeLiStyle} id='elementOne'>Magnesium</li>
CSS
.editElectrodeBox {
height: 35vh;
list-style: none;
overflow-y: scroll;
background-image: linear-gradient(to left, rgb(162, 234, 142) , rgb(118, 203, 240));
}
.electrodeBoxItem {
padding: 20px;
cursor: pointer
}
.selected {
background-image: linear-gradient(135deg, #f34079 40%, #fc894d);
color: whitesmoke;
}
我认为问题是调用了不正确的类名
所以我会将选择器更改为选中
<li className={changeStyle1 ? 'electrodeBoxItem selected' : 'electrodeBoxItem'} onClick={changeLiStyle} id='elementOne'>Magnesium</li>
而不是
<li className={changeStyle1 ? 'electrodeBoxItem selector' : 'electrodeBoxItem'} onClick={changeLiStyle} id='elementOne'>Magnesium</li>