😎리액트 앱 생성
create-react-app my-app
터미널에서 리액트 앱을 생성 합니다.
매번 하는 실수지만 전 항상 npm create-react-app my-app
npm을 앞에 붙여서 오류를 냅니다.
😎 App 실행
npm start
😎 App.js 정리
App.js 파일에 return 코드 싹 날리셔야합니다.
😎 네비 생성
App.js
import React from "react";
//npm install react-router-dom --save
import {
BrowserRouter,
Route,
Link,
Routes
} from "react-router-dom";
import Home from "./view/home/Home";
import Main from "./view/main/Main";
function App() {
return (
<BrowserRouter>
<div>
<nav>
<ul>
<li><Link to="/">Home</Link></li>
<li><Link to="/main">Main</Link></li>
</ul>
</nav>
<Routes>
<Route path="/" element={<Home />}/>
<Route path="/main" element={<Main />}/>
</Routes>
</div>
</BrowserRouter>
);
}
export default App;
react-router-dom 사용하여 간단한 네비 바 + 화면 분리 를 합니다
😎화면 생성
기본적 폴더 구조는 이렇게 됩니다.
Home.js
import React from 'react';
const Home = () => {
return (
<div>
home
</div>
);
};
export default Home;
%주의% 매우 기본적인 개념이지만 흔히 하는 실수
components의 파일명 시작은 대문자
cosnt 파일명 과 export defult 파일명 은 같아야 합니다.
각 메뉴 클릭시 나오는 화면입니다.
React Nav 완전 기초 기본 세팅입니다.
실제론 layout을 나눠 Route를 불러와 활용하지만
전 이런 리액트 앱 만들어서
stg프로젝트 코드 변경전
Test나 불안정할수 있는 라이브러리 개발 진행하곤 합니다.
728x90
반응형
'Front-end > React' 카테고리의 다른 글
[React] Canvas 사이즈에 맞춰 이미지의 원본 비율로 출력하기 (1) | 2022.09.23 |
---|---|
[React] Canvas 레이아웃 2개 겹치기 (0) | 2022.09.23 |
[React] 암호화 AES CryptoJS 사용하여 암호화/복호화 하기 (1) | 2022.08.30 |
[React] image 마우스 wheel 로 zoom In/Out 하기 (라이브러리 사용) (0) | 2022.08.30 |
[react-chartjs-2] 누적 그래프 + 라인 그래프 합치기 (0) | 2022.07.12 |
댓글