개발하고 싶은 초심자
[React/CSS] NavLink에서 밑줄 없애기 & 스타일 지정하기(with styled-components) 본문
기술개념정리(in Javascript)/개발&에러핸들링(in Work(Codestates))
[React/CSS] NavLink에서 밑줄 없애기 & 스타일 지정하기(with styled-components)
정새얀 2023. 2. 20. 21:19Link의 밑줄을 없애는 방법까지 알아냈는데, 똑같은 방법으로 NavLink를 넣었을 때는 제대로 동작하지 않았다.
NavLink는 Link와 다르게 isActive라는 속성이 있어 삼항연산자를 활용하여 스타일을 지정해 줄 수 있는데, NavLink를 사용했을 때 밑줄이 나오지 않게 하면서 클릭했을 때 글씨 색깔도 바꿀 수 있는 방법이 없을까? 하다가 &(ampersand)를 활용하여 해결했다.
import { NavLink } from "react-router-dom";
import styled from "styled-components";
const AllNavLink = styled(NavLink)`
color: black;
&:link {
text-decoration: none;
}
&.active {
color: #0c6efd;
font-weight: 900;
}
`;
...
const Component = () => {
return (
<>
<AllNavLink
style={({ isActive }) => (isActive ? "active" : "")}
to="/a-page"
>
<h5>PageA</h5>
</AllNavLink>
</>
)
}
'기술개념정리(in Javascript) > 개발&에러핸들링(in Work(Codestates))' 카테고리의 다른 글
[React/CSS] 왜 나의 text-decoration: none;은 동작하지 않을까(with styled-components) (0) | 2023.02.20 |
---|---|
[React] 특정 컴포넌트를 특정 페이지에서 안보이게 하기 (0) | 2023.02.19 |
[React] Outlet의 정의와 사용법 (0) | 2023.02.19 |
[CSS] flex: 1; 이 뭘까? (0) | 2023.02.19 |
[CSS] 밑줄과 밑줄의 길이를 변경하고 싶을 때 (0) | 2023.02.19 |
Comments