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

时间:2019-12-18 20:17:12

标签: javascript reactjs mount setstate intersection-observer

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

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

1 个答案:

答案 0 :(得分:2)

您使用的是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>
            ))

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