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

标签 javascript reactjs mount setstate intersection-observer

当我在页面上滚动时,更改选项卡中标签的状态时遇到问题。我不知道 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>
            ))

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

关于javascript - React.js - 在 componentDidMount() 中调用函数时状态不会更新,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59399432/

相关文章:

php - 使用 JavaScript 或 PHP 从地址返回经度和纬度的基本 API

javascript - javascript 语言的正则表达式

javascript - Service Worker onClick 事件 - 如何在 sw 范围内的窗口中打开 url?

javascript - 使用其名称 react 渲染组件

javascript - React D3 Linechart组件实现错误

javascript - 从 express 后端获取后 react 未决的 promise

python - 如何仅加载 google colab 上的特定文件夹?

android - adb remount 失败 - mount : 'system' not in/proc/mounts

javascript - 将状态设置为在 react 中返回另一个状态的函数

docker - 带有复制 Controller 的 Kubernetes 卷挂载