如何使用 MUI/ReactJS 定义支持的最小屏幕尺寸?
How to define minimum supported screen size with MUI/ReactJS?
我在需要大视口的网络应用程序中使用 Material UI 5.6。我想为整个应用程序定义一个最小屏幕宽度,这样:
- 如果用户在宽度较小的设备上访问该应用,则该应用的大小不应超出定义的最小宽度。
- 如果用户在宽度较小的设备上访问应用程序,向他们显示一条警告消息,表明我们不完全支持他们的设备。
这可以用 MUI 实现,还是我需要另一个库?
第一个要求可以通过样式和 media-queries 实现,也可以通过 plain CSS or with MUI-specific styling tools 实现。
第二个要求可以通过 useMediaQuery hook 以多种方式实现:
限制使用不受支持设备的用户使用该应用程序
您可以将整个应用包装在一个 wrapper-component 中,您可以在其中定义所需的 min-width
const requiredWidth = useMediaQuery("(min-width:1024px)");
然后您可以 return UI 您的应用程序或屏幕显示不支持该设备的消息:
return requiredWidth ? (
{ children }
) : (
<p>We do not fully support your device </p>
);
在这种情况下,用户将无法使用整个应用程序。
显示警报
另一种选择是使用相同的包装器组件并呈现一个 Alert or Snackbar,它将与您应用程序的 UI 的其余部分一起呈现:
return (
<>
{children}
{requiredWidth && <AlertComponent />}
</>
);
在这种情况下,用户将收到有关其设备的通知,但仍可以使用该应用。
我在需要大视口的网络应用程序中使用 Material UI 5.6。我想为整个应用程序定义一个最小屏幕宽度,这样:
- 如果用户在宽度较小的设备上访问该应用,则该应用的大小不应超出定义的最小宽度。
- 如果用户在宽度较小的设备上访问应用程序,向他们显示一条警告消息,表明我们不完全支持他们的设备。
这可以用 MUI 实现,还是我需要另一个库?
第一个要求可以通过样式和 media-queries 实现,也可以通过 plain CSS or with MUI-specific styling tools 实现。
第二个要求可以通过 useMediaQuery hook 以多种方式实现:
限制使用不受支持设备的用户使用该应用程序
您可以将整个应用包装在一个 wrapper-component 中,您可以在其中定义所需的 min-width
const requiredWidth = useMediaQuery("(min-width:1024px)");
然后您可以 return UI 您的应用程序或屏幕显示不支持该设备的消息:
return requiredWidth ? (
{ children }
) : (
<p>We do not fully support your device </p>
);
在这种情况下,用户将无法使用整个应用程序。
显示警报
另一种选择是使用相同的包装器组件并呈现一个 Alert or Snackbar,它将与您应用程序的 UI 的其余部分一起呈现:
return (
<>
{children}
{requiredWidth && <AlertComponent />}
</>
);
在这种情况下,用户将收到有关其设备的通知,但仍可以使用该应用。