2017-03-28 1 views
0

내가 ReactJS로 SPA를 만들었지 만 스타일을 지정할 때 한 가지 문제가 있습니다. 그래서 3 개의 differente 페이지가 있습니다. (앞으로 더 많은 페이지를 추가 할 것입니다.) 그래서 각 파일에 고유 한 CSS 파일이 있습니다. 브라우저에서 사이트 열기가 나는 (인덱스) 괜찮아 페이지,하지만 난 다음 페이지 (페이지 2)에 갈 때 다시 클릭하고 (인덱스)로 이동로 이동 그래서이ReactJS 몇 개의 CSS 파일

*index.jsx 
import index form './index.css'* 

*page2.jsx 
import page3 form './index.css'* 

*page3.jsx 
import page3 form './index.css'* 

같은 두 CSS 파일에 동일한 이름의 클래스가 있고로드 된 두 번째 CSS 파일이 있기 때문에 페이지 스타일이 변경되었습니다. (page2.css)(index.css)을 어떻게 대체 할 수 있습니까? 질문은 매우 명확하지 않은 경우

감사합니다,

죄송합니다!

+0

CSS 모듈을 사용할 수 있습니다. https://github.com/css-modules/css-modules –

+0

CSS를 모듈없이 동적으로 스타일을 적용해야 할 때 더 어려워졌습니다. 시간 내 주셔서 감사합니다. –

답변

0

다른 컨텍스트를 구별하는 방법을 찾아야합니다. 코드를 보지 않고 말하기는 어렵지만 각 페이지에 ID를 적용 할 수있는 상위 요소가있는 경우 css 선택기에이 옵션을 포함시켜 각 경우에 실제로 스타일을 지정하려는 요소를 타겟팅 할 수 있습니다.

div#inIndex .myStyle { 
    /* styles */ 
} 

div#inPage2 .myStyle { 
    /* styles */ 
} 

div#inPage3 .myStyle { 
    /* styles */ 
} 

이 작업은 가능하지만 다른 클래스 이름을 사용하지 않는 이유는 무엇입니까?

+0

먼저 답해 주셔서 감사합니다. 같은 이름의 스타일을 남겨 두지 않는 것이 좋았지 만 이제는 늦게 변경해야합니다. 이제 귀하의 의견을 잘 이해하지 못합니다. 각 구성 요소는 개별 파일로 구성되어 있으므로 각 구성 요소에는 상위 본부가 있습니다. return (

childs (other components)
); 이 경우 어떻게 솔루션을 적용 할 수 있습니까? –

+0

css 파일에 액세스 할 수 없기 때문에 클래스 이름을 편집하기가 너무 늦었습니까? 그렇다면이 문제를 어떻게 해결할 수 있는지 실제로 알 수 없습니다. 내가 생각할 수있는 유일한 솔루션은 일종의 고유 한 선택기를 추가하기 위해 CSS 파일을 편집하는 것입니다. – Drum

+0

아니요 CSS 파일에 액세스 할 수 있지만 부모 ID = '색인'또는 이와 유사한 경우에만 스타일을 적용하기 위해 최대한 빨리 수행해야하므로 검색 및 eaiser 솔루션을 찾으려고합니다. –

관련 문제