반응형
Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 | 31 |
Tags
- event
- array
- MySQL
- css
- component
- Navigation
- React
- routes
- Props
- c++
- JSX
- treenode
- bit
- 비트연산
- DP
- route
- Callback
- axios
- queue
- map
- nodeJS
- UE5
- priority_queue
- count
- state
- Context
- node.js
- BinaryTree
- server
- leetcode
Archives
- Today
- Total
우사미 코딩
[React] Navigation 만들기 (4) - 스타일링 보강하기 본문
반응형
지금은 tailwind css 라이브러리를 사용중이라 a태그의 기본 스타일링이 전혀 없는 상태임
(마우스 커서, 텍스트 컬러, 밑줄 모두 없음)
그래서 마우스 커서도 변경해주고 현재 페이지는 밑줄도 쳐서 보여줄거임
(+ classname이라는 라이브러리도 사용하고 있음)
before
import { useContext } from "react";
import NavigationContext from "../context/navigation";
import classNames from "classnames";
function Link({ to, children }){
const {navigate} = useContext(NavigationContext);
const classes = classNames('text-blue-500');
const handleClick = (event) => {
if(event.metaKey || event.ctrlKey){ // ctrl 키 눌렀을 때 새로운 탭에서 열기
return;
}
event.preventDefault();
navigate(to);
}
return <a className={classes} href={to} onClick={handleClick}>{children}</a>
}
export default Link;
a 태그에 className을 넣으면
이렇게 되었습니다
여기서 약간의 refactor가 들어감. custom hook을 사용하고
currentPage == window.location.pathname과 일치할떄만 디자인을 주도록 수정할 것입니당
반응형
'React' 카테고리의 다른 글
[React] Navigation 만들기 (6) - Custom navigation hook 만들기 (0) | 2023.07.22 |
---|---|
[React] Navigation 만들기 (5) - Route 컴포넌트 만들기 (0) | 2023.07.22 |
[React] Navigation 만들기 (3) - Link 기능 보강하기 (새탭에서 열기) (0) | 2023.07.22 |
[React] Navigation 만들기 (1) - navigation.js (0) | 2023.07.21 |
[React] 느린 데이터 환경에서 테스트하기 (0) | 2023.07.06 |
Comments