Пользовательский интерфейс материалов: как переключиться с боковой панели на нижнюю навигацию при использовании сетки

Я хочу, чтобы моя боковая панель была нижней навигацией в мобильном представлении. Как я могу переключать эти компоненты в зависимости от размера экрана. Интересно, есть ли способ сделать это с масштабированием сетки пользовательского интерфейса материала («lg, xs и т. д.»)?

    <Grid container sx = {{backgroundColor: '#02141C;'}}>
        <Grid item xs = {2}>
            <Sidebar />
        </Grid>
        <Grid item lg = {10}>
            <ArticleGrid />
        </Grid>           
    </Grid>
   
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Навигация по приложениям React: Исчерпывающее руководство по React Router
Навигация по приложениям React: Исчерпывающее руководство по React Router
React Router стала незаменимой библиотекой для создания одностраничных приложений с навигацией в React. В этой статье блога мы подробно рассмотрим...
Массив зависимостей в React
Массив зависимостей в React
Все о массиве Dependency и его связи с useEffect.
0
0
24
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий
  1. Добавьте sx = {{ display: { xs: "none", sm: "flex" } }} на боковую панель
  2. Добавьте sx = {{ display: { sm: "none" } }} в BottomNavigation

Код:

import * as React from "react";
import Box from "@mui/material/Box";
import BottomNavigation from "@mui/material/BottomNavigation";
import BottomNavigationAction from "@mui/material/BottomNavigationAction";
import RestoreIcon from "@mui/icons-material/Restore";
import FavoriteIcon from "@mui/icons-material/Favorite";
import LocationOnIcon from "@mui/icons-material/LocationOn";
import AppBar from "@mui/material/AppBar";
import Toolbar from "@mui/material/Toolbar";
import Typography from "@mui/material/Typography";
import IconButton from "@mui/material/IconButton";
import MenuIcon from "@mui/icons-material/Menu";

export default function SimpleBottomNavigation() {
  const [value, setValue] = React.useState(0);

  const SideBar = () => {
    return (
      <AppBar position = "static" sx = {{ display: { xs: "none", sm: "flex" } }}>
        <Toolbar variant = "dense">
          <IconButton
            edge = "start"
            color = "inherit"
            aria-label = "menu"
            sx = {{ mr: 2 }}
          >
            <MenuIcon />
          </IconButton>
          <Typography variant = "h6" color = "inherit" component = "div">
            Side Bar
          </Typography>
        </Toolbar>
      </AppBar>
    );
  };

  const BottomNav = () => {
    return (
      <BottomNavigation
        showLabels
        value = {value}
        onChange = {(event, newValue) => {
          setValue(newValue);
        }}
        sx = {{ display: { sm: "none" } }}
      >
        <BottomNavigationAction label = "Recents" icon = {<RestoreIcon />} />
        <BottomNavigationAction label = "Favorites" icon = {<FavoriteIcon />} />
        <BottomNavigationAction label = "Nearby" icon = {<LocationOnIcon />} />
      </BottomNavigation>
    );
  };

  return (
    <Box sx = {{ maxWidth: 'xl' }}>
      <SideBar />
      <BottomNav />
    </Box>
  );
}

Поэкспериментируйте с кодом здесь

Другие вопросы по теме