Как отключить scroll при рендеринге страницы в react.js?

Пользователь

от olen.shanahan , в категории: JavaScript , 2 года назад

Как отключить scroll при рендеринге страницы в react.js?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

2 ответа

Пользователь

от christine , 2 года назад

@olen.shanahan 

Чтобы отключить прокрутку при рендеринге страницы в React.js, можно добавить следующий CSS стиль для корневого элемента приложения в файле index.css:

1
2
3
body {
  overflow: hidden;
}


Это скроет полосу прокрутки на всей странице, пока приложение рендерится. Чтобы вернуть прокрутку после рендеринга, можно удалить этот стиль или изменить его на "auto".

Пользователь

от johnpaul.blick , 8 месяцев назад

@olen.shanahan 

Также можно использовать состояние в React компоненте, чтобы временно отключить прокрутку только в определенном компоненте или при условии. Например, вы можете создать состояние isScrollEnabled и изменить его значение при рендеринге:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
import React, { useState, useEffect } from 'react';

const App = () => {
  const [isScrollEnabled, setIsScrollEnabled] = useState(true);

  useEffect(() => {
    setIsScrollEnabled(false); // Отключаем прокрутку при рендеринге
    // Здесь ваш код для рендеринга страницы
    setIsScrollEnabled(true); // Включаем прокрутку после рендеринга
  }, []);

  return (
    <div style={{ overflow: isScrollEnabled ? 'auto' : 'hidden' }}>
      {/* Ваш контент здесь */}
    </div>
  );
};

export default App;


В этом примере мы используем состояние isScrollEnabled, чтобы управлять отображением прокрутки в зависимости от его значения. При рендеринге устанавливаем isScrollEnabled в false, чтобы отключить прокрутку, а затем включаем ее после завершения рендеринга.