反应路线 url 并查看更改但组件功能仍然有效。为什么?
React route url and view changes but component function still active. Why?
我有一个通过单击按钮触发的事件函数。它的目的是保持 body 位置固定,防止它滚动,直到您再次单击按钮以 close/toggle 关闭它。
它工作正常,但是,当我单击另一个页面而不将其关闭时,它仍然处于活动状态。这意味着新页面不会滚动,因为 body 位置是固定的。
我是 React 新手,仅供参考
我的代码:
bodyFixed(event) {
document.body.classList.add('body-fixed');
}
bodyRelative(e) {
document.body.classList.remove('body-fixed');
}
我正在使用 react-static withRouteData, RouteData, Router
,我在这些页面上没有任何问题。但是,在像文章页面这样的页面上,路由不会以相同的方式改变。这就是我看到的问题。
有什么东西可以包裹起来,这样当我点击新页面时它会恢复到默认状态吗?
请先询问您是否需要更多信息,我很乐意添加更多信息。
是的,您可以在 componentWillUnmount
生命周期挂钩中调用 bodyRelative
方法来取消设置 class。类似的东西:
componentWillUnmount() {
this.bodyRelative()
}
我有一个通过单击按钮触发的事件函数。它的目的是保持 body 位置固定,防止它滚动,直到您再次单击按钮以 close/toggle 关闭它。
它工作正常,但是,当我单击另一个页面而不将其关闭时,它仍然处于活动状态。这意味着新页面不会滚动,因为 body 位置是固定的。
我是 React 新手,仅供参考
我的代码:
bodyFixed(event) {
document.body.classList.add('body-fixed');
}
bodyRelative(e) {
document.body.classList.remove('body-fixed');
}
我正在使用 react-static withRouteData, RouteData, Router
,我在这些页面上没有任何问题。但是,在像文章页面这样的页面上,路由不会以相同的方式改变。这就是我看到的问题。
有什么东西可以包裹起来,这样当我点击新页面时它会恢复到默认状态吗?
请先询问您是否需要更多信息,我很乐意添加更多信息。
是的,您可以在 componentWillUnmount
生命周期挂钩中调用 bodyRelative
方法来取消设置 class。类似的东西:
componentWillUnmount() {
this.bodyRelative()
}