React.js - 在 componentDidMount() 中调用函数时状态不会更新

React.js - State doesn't update when function is called in componentDidMount()

当我在页面上滚动时,我在更改选项卡中的标签状态时遇到了问题。我不知道 componentDidMount() 是否对此负责,但我已经尝试了很多东西,但我无法找到解决方案。这是代表我所有问题的演示: https://codesandbox.io/embed/clever-babbage-bzlbe?fontsize=14&hidenavigation=1&theme=dark

如果您注意到,第二次向下滚动时阴影会失去过渡效果,但如果您删除 this.setState 的效果,它将是完美的。这怎么可能解决?

您使用的是 this.setState.scrolled 而不是 this.state.scrolled 并且您将 true 分配给它而不是检查

(this.state.scrolled == true ? (
              "THIS NEEDS TO CHANGE"
            ) : (
              <Box
                fontFamily="Nunito"
                fontSize={18}
                fontWeight={700}
                color="text.secondary"
                className="text-uppercase pr-4"
              >
                TO THIS
              </Box>
            ))

这样做应该可以修复您的代码。