const fruits = ["apple", "banana", "orange", "kiwi"];
fruits.map((v, i) => {
console.log(`${i + 1}번째 과일은 ${v}입니다.`);
});
const array = [1, 2, 4, 8];
console.log(array);
// i가 쓰이지 않는 경우에는 v만 작성합니다.
const squareArray = array.map((v) => {
return v * v;
});
console.log(squareArray);
i
(인덱스)를 쓰지 않는 경우에는 생략이 가능v
를 가공해서 return
을 할 경우 새로운 배열을 만들 수 있음{조건} ? {참} : {거짓}
조건이 참이면 {참} 실행
조건이 거짓이면 {거짓} 실행
장점 | 단점 |
---|---|
사용자에게 네이티브 앱을 쓰는 것과 같은 경험을 제공합니다. | 최초 접속시 페이지 구성에 필요한 모든 데이터를 요청하므로 초기 구동속도가 느려집니다. |
사용자가 데이터 요청시 필요한 데이터만을 갱신하므로 불필요한 새로고침이 발생하지 않습니다. | 처음 받는 웹 페이지의 소스코드가 거의 비어있으므로 SEO(검색 엔진 최적화)문제가 발행하게 됩니다. |
React에서 페이지를 나누려면 라우팅이라는 기술을 사용해야함
npm install react-router-dom
<BrowserRouter>
<div className="flex justify-center items-center">
<Hearder />
<div>hello</div>
<div>Joe</div>
<Routes>
<Route path="/" element={<Main />} />
<Route path="/a" element={<B />} />
<Route path="/b" element={<A/>} />
</Routes>
<Footer />
</div>
</BrowserRouter>
BrowserRouter
로 감쌉니다.<div>
, Header
, Footer
)Routes
안에 배치합니다.Route
에 경로 path
와 페이지 element
를 배치합니다.* Header.jsx
import { Link } from "react-router-dom";
function Header() {
return (
<div className="bg-red-100 flex justify-center items-center h-20">
<Link to="/">
<button className="bg-red-300 px-4 py-2 mx-2 rounded ">메인</button>
</Link>
<Link to="/a">
<button className="bg-orange-300 px-4 py-2 mx-2 rounded">A</button>
</Link>
<Link to="/b">
<button className="bg-yellow-300 px-4 py-2 mx-2 rounded">B</button>
</Link>
<Link to="/c">
<button className="bg-green-300 px-4 py-2 mx-2 rounded">C</button>
</Link>
</div>
);
}
export default Header;
Link
로 button
을 감싸줍니다. (꼭 버튼이 아니여도 됨)to
로 이동하고자하는 경로를 입력.