Десктоп меню и мобильное меню это разные компоненты?

Пробую reactjs, и хочу разобраться в компонентах.
Меню для ПК версий и моб.меню писать, как разные компоненты или как один?. Пункты меню абсолютно одинаковые, отличаются лишь расположением и вывод многоуровневого меню. В десктоп версий меню расположено горизонтально, при нажатий на пункт меню появляется отдельный блок на всю страницу с выбором доп.ссылок. В мобильной версий оно вертикальное появляется после нажатия на бургер, меню представляет себя что то вроде аккордеон. При нажатий на пункт блок раскрывается с контентом. Сам считаю лучше разделить на разные компоненты. Т.к логика вывода подменю у них разная, да и выглядят по разному не смотря что пункты меню одинаковые (Цвет, размер, активная ссылка)

components/MenuDesktop.jsx
components/MenuMobile.jsx
components/MenuMain.jsx
components/MenuLogo.jsx
function MenuDesktop(){
  return (
     <div className="menu menu--desktop">
          <MenuLogo/>
          ...
     </div>
   );
}

function MenuMobile(){
  return (
     <div className="menu menu--mobile">
          <MenuLogo/>
             ...
     </div>
   );
}

function MenuMain(){
  return (
     <>
        <MenuDesktop />
        <MenuMobile />
     </>
   );
}

Модификаторы для класса меню добавил, что бы при разных разрешений экрана скрывать/показывать определенное меню. Мой подход считается в React правильным?


Ответы (0 шт):