여러개의 메뉴가 있다고 가정해보자. 그 메뉴에서 내가 선택한 메뉴에 특정 스타일을 주고싶다.
사용자는 UI에서 내가 선택한 메뉴가 무엇인지 알아야 하니까! 이때 Link 대신 NavLink
를 사용하면 된다.
NavLink
는 링크가 활성화되었을때 특정 activeStyle
을 사용해 스타일을 입힐 수 있다.
예제코드
- 이전코드는 아래와 같다
<Link activeStyle={activeStyle} to="/locations/gyonggi">
경기
</Link>
Link
대신 스타일을 입히기 위해서NavLink
를 사용하면 아래와 같다.
import React from 'react';
import { NavLink, Link, Route } from 'react-router-dom';
import Location from './Location';
const Locations = () => {
const activeStyle = {
background: 'red',
color: 'yellow'
};
return (
<div>
<h1> 도시 목록 </h1>
<ul>
<li>
<NavLink activeStyle={activeStyle} to="/locations/seoul">
서울
</NavLink>
</li>
<li>
<NavLink activeStyle={activeStyle} to="/locations/gyonggi">
경기
</NavLink>
</li>
</ul>
<Route
path="/locations"
exact={true}
render={() => <div> 지역을 선택해 주세요. </div>}
/>
<Route path="/locations/:cityname" component={Location} />
</div>
);
};
export default Locations;
'Web 개발 > React' 카테고리의 다른 글
[React] axios 사용 예제 코드 (0) | 2020.02.10 |
---|---|
[React] REST API 개발 전에 JSONPlaceholder 이용해 JSON 데이터 샘플 호출해서 가져오기 (0) | 2020.02.10 |
[React] Switch를 이용해 URL 접속시 존재하지 않는 페이지 (Not Found Page) 처리 방법 (+ 코드예제) (0) | 2020.02.09 |
[React] WithRouter 언제 사용? 사용하는 방법 (+ 코드예제) (0) | 2020.02.09 |
[React] TypeError: Cannot read property 'createElement' of undefined (0) | 2020.02.09 |