reactjs - 反应路由 url 并查看更改,但组件功能仍处于活动状态。为什么?
问题描述
我有一个由单击按钮触发的事件函数。其目的是保持身体位置固定,使其不会滚动,直到您再次单击按钮以关闭/切换它。
它工作正常,但是当我单击另一个页面而不将其关闭时,它仍然处于活动状态。这意味着新页面将不会滚动,因为正文位置是固定的。
我是 React 的新手,仅供参考
我的代码:
bodyFixed(event) {
document.body.classList.add('body-fixed');
}
bodyRelative(e) {
document.body.classList.remove('body-fixed');
}
我正在使用 react-staticwithRouteData, RouteData, Router
并且我在这些页面上没有问题。但是,在诸如文章页面之类的页面上,路线不会以相同的方式更改。这就是我看到问题的地方。
有什么我可以用它包装的,这样当我点击一个新页面时它会恢复默认值吗?
请先询问您是否需要更多信息,我很乐意添加更多信息。
解决方案
是的,您可以在生命周期挂钩中调用bodyRelative
方法来取消设置类。componentWillUnmount
沿着这些思路:
componentWillUnmount() {
this.bodyRelative()
}
推荐阅读
- c# - VS 不写入输出文件
- c# - 将字符串与类相关联,以便如果类作为泛型类型参数给出,我可以检索字符串
- python - TensorFlow:在训练时更改变量
- java - java - 如何在java中使用SequenceInputStream从两个不同的文件中读取两个对象
- search - 搜索结果转换中的多个索引不适用于 Kentico
- excel - 求解消除常数 K
- r - 将日期时间从 Excel 转换为 R
- ruby-on-rails - 仅在 Rails 上与 PgSearch 匹配起始词
- android - 没有通知警报的 startForeground
- string - 如何在 uri 中为 Microsoft 图形请求传递日期变量?