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>
))
这样做应该可以修复您的代码。
当我在页面上滚动时,我在更改选项卡中的标签状态时遇到了问题。我不知道 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>
))
这样做应该可以修复您的代码。