์นดํ…Œ๊ณ ๋ฆฌ ์—†์Œ

๋ผ์šฐํŠธ ์„ค์ • ์˜ค๋ฅ˜ ํ•ด๊ฒฐ ๊ธฐ๋ก ์ฐธ๊ณ 

๋ฐ์ฅฌ๋”” 2023. 10. 18. 15:22

์ฃผ์–ด์ง„ ์ฝ”๋“œ์—์„œ ์ˆ˜์ •ํ•ด์•ผ ํ•  ๋ถ€๋ถ„์€ /editmenu ๊ฒฝ๋กœ์— ๋Œ€ํ•œ ๋ผ์šฐํŠธ ์„ค์ •์ž…๋‹ˆ๋‹ค. ํ˜„์žฌ ์ฝ”๋“œ์—์„œ๋Š” /editmenu ๊ฒฝ๋กœ๋งŒ์„ ๋‹ค๋ฃจ๊ณ  ์žˆ์œผ๋ฉฐ, ๋™์ ์ธ ์ƒํ’ˆ ID๋ฅผ ์ „๋‹ฌํ•  ์ˆ˜ ์žˆ๋Š” ๊ธฐ๋Šฅ์ด ์—†์Šต๋‹ˆ๋‹ค.

/editmenu ๊ฒฝ๋กœ์— ๋™์ ์ธ ์ƒํ’ˆ ID๋ฅผ ์ „๋‹ฌํ•˜๋ ค๋ฉด :productId์™€ ๊ฐ™์€ ๋งค๊ฐœ๋ณ€์ˆ˜๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๊ฒฝ๋กœ๋ฅผ ์ •์˜ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ App.js ํŒŒ์ผ์˜ ํ•ด๋‹น ๋ถ€๋ถ„์„ ์•„๋ž˜์™€ ๊ฐ™์ด ์ˆ˜์ •ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค:

 

import React from 'react';
import { Routes, Route } from "react-router-dom";
import styled from "styled-components";
import { useLocation } from 'react-router-dom';

// import ๋ฌธ ์ƒ๋žต...

const PageLayout = styled.div`
  display: flex; 
`;

const Content = styled.div`
  flex-grow: 1; 
`;

function App() {
  const location = useLocation(); // ํ˜„์žฌ ์œ„์น˜ ์ •๋ณด ์•Œ๋ ค์คŒ.

  return (
    <PageLayout>
      {location.pathname !== '/' && <Sidebar />} {/* ๋กœ๊ทธ์ธ ํŽ˜์ด์ง€๊ฐ€ ์•„๋‹ ๋•Œ๋งŒ Sidebar ๋ Œ๋”๋ง */}
      <Content>
        <Routes>
          <Route path="/" element={<LogIn />} />
          <Route path="/cleaningmode" element={<CleaningMode />} />
          <Route path="/menumanagement" element={<MenuManagement />} />
          <Route path="/addmenu" element={<AddMenu />} />
          {/* /editmenu/:productId ๊ฒฝ๋กœ ์ถ”๊ฐ€ */}
          <Route path="/editmenu/:productId" element={<EditMenu />} />
        </Routes>
      </Content>
    </PageLayout>
  );
}

export default App;