05/18-오후

Posted by:

|

On:

|

react-router-dom 의 Link에도 적용이 가능하다

방법은 앞과 동일하다.

let 이름=styled(Link)`CSS내용`;

조금 특이하게 적용하는 방법-형제관계인 경우

import로 이미 짜놓은 컴포넌트를 불러오고

let 이름=styled(불러온컴포넌트)`CSS내용`형태로 불러올 수 있다.

여기서 더해서 props 값에 따라 바꾸는 경우가 있다.

let ButtonTest=styled(위에서 따온 이름)`
${(props)=>{
switch(props.mode){
case"경우1": return `바꿀 CSS내용`;
case"경우2": return `다른 바꿀 CSS내용`;}
}}`

와 같이 써서 App.js(react-router-dom의 경우 Home.jsx)에 자기 컴포넌트 안에 mode=경우1 를 넣어주면 값이 바뀐다

이정도로 복잡하게 짜는 경우는 잘 없지만 알아서 나쁠건 없다.

정리해서 보면 styled로 형제에 만든 태그값을 가져온다. 값들 중 바꾸어야 할 게 일부 있는 경우 switch문으로 상위의 해당 컴포넌트의 props 값을 이용해서 바꾸어 주는 방식이다.

SCSS(SASS) : https://sass-lang.com

CSS의 전처리기이다. 즉, SCSS나 SASS로 써도 웹에서는 바로 적용 하지 못하고 CSS로 컴파일 해주는 기능을 설치해서 써야 적용이 된다[당장 배우지는 않음]

npm i sass : 설치

SASS에서도 &로 자기자신을 불러 올 수 있다. [확인 결과 react의 기본적으로 주는 옵션같음]

.color{
color:red;
&:hover{color:blue;}
}

여기에서 &:hover는 .color:hover와 같다

https://sass-lang.com/guide 이 주소에 CSS에서 짜는 방식과 SCSS(SASS)로 짜는 방식을 보여준다.