React 46

NavLink, Link

import React from "react"; import { Link,Outlet } from "react-router-dom"; const Articles = () => { return ( 게시글 1 게시글 2 게시글 3 ); }; export default Articles; Link 먼저. 앞서 봐왔듯 그 Link임. 그냥 to={'경로'} 해서 보낼 수 있는. 그 다음 NavLink NavLink는 그냥 Link에 정말 간단한 기능 추가시킨 건데, 바로 자신의 경로가 선택되었다면 저 Link(html요소 상에서는 a태그)에 active라는 클래스를 붙여주는 거임. 그냥 ul>li>a.active 라던지 해서 scss에서 활용해서 쓰면 됨.

React 2023.11.30

useNavigate, Navigate

이거는 네비게이션, 정확히는 경로를 알려준다기 보다는 경로까지 가게 해주는 훅임. import React from 'react' import { Outlet, useNavigate } from 'react-router' const Layout = () => { const navigate = useNavigate(); const goBack = ()=>{ navigate(-1); } const goArticles = ()=>{ navigate('/articles', {replace:true}); } return ( 뒤로가기 Articles로 가기 ) } export default Layout 그냥 훅 가져오고, 저렇게 하면 콜백함수가 들어가나 봄. navigate(-1) 하면 바로 전, 뒤로 가기임. na..

React 2023.11.30

중첩 라우팅

라우트 안에 라우트 이렇게 하면 /articles/:id임. 마치 스프링 컨트롤러에서 class레벨에 Mapping 지정해주고, 컨트롤러 메소드마다 추가로 지정해주는 거랑 똑같네. 저기 안에 들어가 보면, import React from "react"; import { Outlet } from "react-router-dom"; import "../scss/Articles.scss"; const Articles = () => { return ( ); }; 저 Outlet이, 내부 라우터에 준 컴포넌트가 들어갈 수 있는 공간임. 즉, 위 같은 경우 /articles 해서 들어가면 저 Outlet 부분 안나오지만(지정을 안했으니까), /articles/1 해서 들어가면, 저 Outlet부분, 즉 /artic..

React 2023.11.30

리액트 프로파일러

이거 브라우저 확장프로그램에 있음. 그거 다운받아서 쓰면 됨. 컴포넌트에 대한 정보 보는 것도 있음. 여러가지 나옴. props, 사용한 훅, 뭐에 의해 랜더링 됐는지 등 다시 프로파일러 돌아와서, 저 파란버튼 누르면 측정 시작 저거 누른 후, 활동하면 됨. 뭐 버튼 누르거나 등. 그 후 측정 시작되서 빨간버튼이던 걸 다시 누르면 결과가 나옴. 그러면 랜더링 얼마나 걸렸는지 나옴. 이걸로 확인해보면서 어느 컴포넌트에서, 뭐가 얼마나 걸렸는지 확인하면서 작업하면 됨.

React 2023.11.28