Javascript 更新scroll React.js上的ID标记

Javascript 更新scroll React.js上的ID标记,javascript,css,reactjs,Javascript,Css,Reactjs,您可以在此处找到我的项目: 我正在尝试将CSS背景ID标记数组(bgArr)与afterLoad()中每个节(destination.index)的数组相匹配。因此,第1节的ID应为“红色”,第2节的ID应为“蓝色”,第3节的ID应为“绿色”。在页面加载时,第1节具有正确的ID标记“红色”。当滚动到第2节时,在控制台中,您会注意到bgIndex更新为正确的ID标签“blue”,但页面上div的ID保持为红色。我不确定如何使用更新的ID标签重新呈现div。我认为应该这样做: afterLoad(o

您可以在此处找到我的项目:


我正在尝试将CSS背景ID标记数组(
bgArr
)与
afterLoad()
中每个节(
destination.index
)的数组相匹配。因此,第1节的ID应为“红色”,第2节的ID应为“蓝色”,第3节的ID应为“绿色”。在页面加载时,第1节具有正确的ID标记“红色”。当滚动到第2节时,在控制台中,您会注意到
bgIndex
更新为正确的ID标签“blue”,但页面上div的ID保持为红色。我不确定如何使用更新的ID标签重新呈现div。

我认为应该这样做:

afterLoad(origin, destination, direction) {
  this.setState({
    isLeaving: false,
  });

  bgIndex = bgArr[destination.index];
}
您应该这样做:

afterLoad(origin, destination, direction) {
  bgIndex = bgArr[destination.index];

  this.setState({
    isLeaving: false,
  });
}
如果在调用
setState
后更改
bginder
,则在
bginder
更新为正确值之前,重新加载程序可能已经完成


你能发布一些你想要达到的目标的代码或图片吗?答案的质量有时取决于问题的质量。干杯:)您可以在此处找到代码: