反应路线URL和查看更改,但组件功能仍处于活动状态。为什么?

时间:2018-12-12 21:40:23

标签: reactjs react-native react-router react-static

我具有通过单击按钮触发的事件功能。目的是保持身体位置固定,防止其滚动,直到再次单击该按钮以关闭/切换它为止。

它工作正常,但是当我单击另一个页面而不切换时它仍然处于活动状态。意味着新页面将不会滚动,因为正文位置是固定的。

我是React FYI的新手

我的代码:

bodyFixed(event) {
  document.body.classList.add('body-fixed');
}

bodyRelative(e) {
  document.body.classList.remove('body-fixed');
}

我正在使用react-static withRouteData, RouteData, Router,在这些页面上没有问题。但是,在诸如文章页面之类的页面上,路由不会以相同的方式更改。这是我看到问题的地方。

是否可以包装一些东西,以便在单击新页面时恢复为默认值?

请先询问您是否需要更多信息,我会很乐意添加更多信息。

1 个答案:

答案 0 :(得分:0)

是的,您可以在bodyRelative生命周期挂钩中调用componentWillUnmount方法来取消设置类。遵循这些原则:

  componentWillUnmount() {
    this.bodyRelative()
  }