Reactjs 如何在React Typescript中禁用滚动指定页面

Reactjs 如何在React Typescript中禁用滚动指定页面,reactjs,react-typescript,Reactjs,React Typescript,我正在做我的大学项目,我有一个4页,我想知道如何禁用滚动选项只有特定的页面。我使用下面的代码部分,但它适用于整个页面。有人有办法吗 componentWillMount(){ document.body.style.overflow='hidden' } 导出类MyBook扩展React.Component{ render(){ 返回( ) } } 是的,您可以 <Pages> <Page1 /> <Page2 /> .

我正在做我的大学项目,我有一个4页,我想知道如何禁用滚动选项只有特定的页面。我使用下面的代码部分,但它适用于整个页面。有人有办法吗

componentWillMount(){
        document.body.style.overflow='hidden'
    }

导出类MyBook扩展React.Component{
render(){
返回(
)
}
}
是的,您可以

<Pages>
  <Page1 />
  <Page2 />
  ...
</ Pages>
如果使用func方法

useEffect(() => {
    document.body.style.overflow = "hidden";
    return () => {
      document.body.style.overflow = "auto";
    };
  }, []);

请注意,当您需要滚动时,组件将立即安装去润滑

将其设置回
自动
。可能有用。@AjeetShah您好,在哪里添加这个?您可以使用方法将属性
溢出
重置回
自动
@AjeetShah,但我只想禁用滚动一页,我添加了您提到的答案,但不起作用。那么你能给出答案吗?@kunalpanchal,我补充说你提到了答案,但不起作用,所以你能给出答案吗?

class Page2 extends React.Component {
   componentDidMount() {
      document.body.style.overflow='hidden'
   }

   componentWillUnMount() {
      document.body.style.overflow='auto'
   }
}

useEffect(() => {
    document.body.style.overflow = "hidden";
    return () => {
      document.body.style.overflow = "auto";
    };
  }, []);