我具有通过单击按钮触发的事件功能。目的是保持身体位置固定,防止其滚动,直到再次单击该按钮以关闭/切换它为止。
它工作正常,但是当我单击另一个页面而不切换时它仍然处于活动状态。意味着新页面将不会滚动,因为正文位置是固定的。
我是React FYI的新手
我的代码:
bodyFixed(event) {
document.body.classList.add('body-fixed');
}
bodyRelative(e) {
document.body.classList.remove('body-fixed');
}
我正在使用react-static withRouteData, RouteData, Router
,在这些页面上没有问题。但是,在诸如文章页面之类的页面上,路由不会以相同的方式更改。这是我看到问题的地方。
是否可以包装一些东西,以便在单击新页面时恢复为默认值?
请先询问您是否需要更多信息,我会很乐意添加更多信息。
答案 0 :(得分:0)
是的,您可以在bodyRelative
生命周期挂钩中调用componentWillUnmount
方法来取消设置类。遵循这些原则:
componentWillUnmount() {
this.bodyRelative()
}