【发布时间】:2020-02-25 02:03:31
【问题描述】:
我有一个基于 React(和 Material-UI)的网页,其中包含基于 Babylon JS 的 3D 视图。
我希望网页具有响应性(即适应不同的窗口大小)。
但我也希望用户能够在 3D 视图中单击 Babylon JS 按钮(通过 @babylonjs/gui/2D Button.CreateImageOnlyButton 制作),仅将 3D 视图带入全屏(并使其余部分UI 不可见)。 (也可以全屏按下按钮退出全屏模式)
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 会重新呈现。有没有办法在 3D 视图全屏时暂停 React 重新渲染?
【问题讨论】:
标签: reactjs material-ui babylonjs