스타일이 지정된 구성 요소 학습을 시작하세요!(3)-원하는 모든 구성 요소에 스타일을 지정할 수 있습니다!
6565 단어 react
안녕하세요 여러분 클락입니다! 이 게시물에서는 더 많은 스타일 구성 요소에 대해 계속 공유하고 연습할 것입니다!
구성 요소 스타일 지정
styled component 문서에서 이 부분을 읽을 때 styled component가 저에게 매우 강력하다고 생각합니다. 스타일이 적용된 구성 요소에 대해 이전에 공유한 게시물에서 우리 모두는 styled가 원하는 스타일로 구성 요소를 생성할 수 있고 이를 사용하거나 확장할 수 있다는 것을 알고 있습니다.
이 장에서는 HTML 태그 대신 기존 구성 요소의 스타일을 지정하는 방법을 배웁니다!
react-router-dom 설치
구성 요소 스타일링을 연습하려면 다른 요소 UI 프레임워크에서 제공하는 구성 요소를 사용해야 합니다.
따라서 먼저 우리 프로젝트에서 react-router-dom을 사용해야 합니다(이것이 일반적인 것이라고 생각합니다). 제공되는 bu react-router-dom은 완벽한 구성 요소이므로 styled 구성 요소를 통해 스타일링을 시도할 수 있습니다.
npm i react-router-dom
기존 구성 요소 스타일 지정
이전 단계를 마치면 react-router-dom에서 Link
를 가져올 수 있습니다.
import React from 'react';
import { HashRouter, Link } from 'react-router-dom';
const App = () => (
<HashRouter>
<Link>I am a link</Link>
</HashRouter>
);
export default App;
그럼... 인라인 스타일로 작성해야 할까요? 아래 링크 코드:
const App = () => (
<HashRouter>
<!--inline style-->
<Link style={{ textDecoration: 'none' }}>
I am a link
</Link>
</HashRouter>
);
아니!
의 Link
구성 요소를 통해 Link
를 래핑할 수 있습니다. 포장 방법은 동일합니다. Button
에 styled
매개변수를 지정하면 됩니다. 코드 스니펫은 인라인 스타일과 스타일이 지정된 구성 요소를 통해 다른 점을 보여줍니다.
import React from 'react';
import { HashRouter, Link } from 'react-router-dom';
import styled from 'styled-components';
const NoneDecorationLink = styled(Link)`
text-decoration: none;
`;
const App = () => (
<HashRouter>
<!--inline style-->
<Link style={{ textDecoration: 'none' }}>
I am a link
</Link>
<br />
<!--styled component-->
<NoneDecorationLink>
I am a style link
</NoneDecorationLink>
</HashRouter>
);
export default App;
스타일이 지정된 구성 요소가 인라인 스타일보다 명확하다고 생각하지만 결과는 동일합니다.
결론
따라서 스타일이 지정된 구성 요소를 사용하면 다른 요소 UI 프레임워크에서 제공하는 구성 요소를 확장하는 방법을 고려할 필요가 없습니다!
Reference
이 문제에 관하여(스타일이 지정된 구성 요소 학습을 시작하세요!(3)-원하는 모든 구성 요소에 스타일을 지정할 수 있습니다!), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://dev.to/ms314006/start-learn-styled-components-3-you-can-styling-any-component-you-want-97g
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
npm i react-router-dom
import React from 'react';
import { HashRouter, Link } from 'react-router-dom';
const App = () => (
<HashRouter>
<Link>I am a link</Link>
</HashRouter>
);
export default App;
const App = () => (
<HashRouter>
<!--inline style-->
<Link style={{ textDecoration: 'none' }}>
I am a link
</Link>
</HashRouter>
);
import React from 'react';
import { HashRouter, Link } from 'react-router-dom';
import styled from 'styled-components';
const NoneDecorationLink = styled(Link)`
text-decoration: none;
`;
const App = () => (
<HashRouter>
<!--inline style-->
<Link style={{ textDecoration: 'none' }}>
I am a link
</Link>
<br />
<!--styled component-->
<NoneDecorationLink>
I am a style link
</NoneDecorationLink>
</HashRouter>
);
export default App;
따라서 스타일이 지정된 구성 요소를 사용하면 다른 요소 UI 프레임워크에서 제공하는 구성 요소를 확장하는 방법을 고려할 필요가 없습니다!
Reference
이 문제에 관하여(스타일이 지정된 구성 요소 학습을 시작하세요!(3)-원하는 모든 구성 요소에 스타일을 지정할 수 있습니다!), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/ms314006/start-learn-styled-components-3-you-can-styling-any-component-you-want-97g텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)