这里是我的代码。
演示URL是这里。
背景:
我正在构建一个网格,可以支持通过鼠标拖动选择单元格。
当用户向单元格中输入特定值时,单元格背景颜色将发生变化。
例如:如果用户在单元格中输入“a”,则单元格背景将更改为粉红色。
问题:
这两个功能都正常工作,但是,当我单击每一行的最后一个单元格时,单元格背景颜色就消失了。
我使用下面的编码来监控单元格内容的变化,并相应地改变单元格的背景颜色。
useEffect(()=>{
console.log("h0,"+props.children);
setClassName(props.className);
setValue(props.children);
},[props.className,props.children]);
useEffect(()=>{
console.log("h1,"+className);
let newClassName=className;
if(activeShiftInfo[value]){
newClassName+=' '+activeShiftInfo[value].cssClassName;
setClassName(newClassName);
}
},[value]);不幸的是,他们两个人都不能工作,我错过了什么吗?
发布于 2021-04-15 16:20:58
将props.classname作为依赖项添加到第二个useEffect中。第二个useEffect不是在mouseEnter上触发的,第一个是->,因此类在第一个useEffect中被更新,而没有触发第二个useEffect。
https://stackoverflow.com/questions/67111742
复制相似问题