У меня есть веб-страница на основе React (и Material-UI), которая включает в себя 3D-представление на основе Babylon JS.
Я хочу, чтобы веб-страница была адаптивной (ie адаптируется к различным размеры окон).
Но я также хочу, чтобы пользователь мог нажимать на кнопку Babylon JS (сделанную с помощью @ babylonjs / gui / 2D Button.CreateImageOnlyButton) в 3D-виде, чтобы вывести только 3D-вид в полноэкранный режим ( и сделать остальную часть пользовательского интерфейса невидимым). (Кнопка также может быть нажата в полноэкранном режиме для выхода из полноэкранного режима)
function MainWindow({root}) {
var desktopWidth = useMediaQuery('(min-width:1000px)');
var listWidth = useMediaQuery('(min-width:600px)');
if (desktopWidth) {
listWidth = false;
}
var mobileWidth = !(desktopWidth || listWidth);
return <Fragment>
{desktopWidth && <DesktopMain root={root} />}
{listWidth && <ListMain root={root} />}
{mobileWidth && <MobileMain root={root} />}
</Fragment>;
}
Моя проблема в том, что MainWindow перерисовывается при входе в полноэкранный режим. Есть ли способ приостановить рендеринг React, когда 3D-вид находится в полноэкранном режиме?