javascript - React.js - 在 componentDidMount() 中调用函数时状态不会更新
问题描述
当我在页面上滚动时,我遇到了更改选项卡中标签状态的问题。我不知道 componentDidMount() 是否对此负责,但我已经尝试了很多东西,但我无法找到解决方案。这是代表我所有问题的演示: https ://codesandbox.io/embed/clever-babbage-bzlbe?fontsize=14&hidenavigation=1&theme=dark
如果您注意到,阴影会在您第二次向下滚动时失去过渡,但如果您删除this.setState
's,它将是完美的。这怎么可能解决?
解决方案
您正在使用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>
))
这样做应该可以修复您的代码。
推荐阅读
- spring - 动态 Web 项目在 Eclipse 中运行良好,但为什么 Maven 项目(webapp 原型)会导致 404 错误?
- django - 意外关闭后的 Django 项目 docker:服务器是否在主机“db”(172.19.0.3)上运行并接受端口 5432 上的 TCP/IP 连接?
- python - 按字段名称访问 sqlalchemy 查询中的字段
- excel - 在 VBA 中格式化和重置 excel 单元格的格式
- ios - Swift XCode Button 没有出现 Round
- javascript - 使用自定义函数验证 Mocha/Chai
- typescript - Eslint 'rxjs/operators' 应该列在项目的依赖中
- php - 在 Ubuntu 上运行 php 7.4 的 apache 上没有 SQL 扩展?
- react-hook-form - 从 v6 迁移到 v7
- java - 如何修复错误:JAVA_HOME 设置为无效目录(Flutter android 许可证)