스타일이 지정된 구성 요소 배우기 시작!(2)-스타일 확장
5356 단어 react
안녕하세요 여러분 클락입니다! 이 게시물에서는 내가 배운 스타일 구성 요소에 대해 더 많이 공유할 것입니다. 스타일이 지정된 구성 요소가 무엇인지 모르는 경우 지난 게시물로 이동할 수 있습니다.
스타일 확장
프로젝트에서 스타일 구성 요소를 사용하는 경우 프로그램 언어와 같은 방식으로 CSS를 정의할 수 있습니다. 스타일 확장은 스타일 구성 요소 중 좋은 예입니다.
스타일 구성 요소 호출Button
을 정의할 수 있습니다. 이 스타일 구성 요소에서 일부 기본 CSS를 정의했습니다.
import React from 'react';
import styled from 'styled-components';
const Button = styled.button`
border: 1px solid black;
border-radius: 5px;
font-size: 20px;
`;
const App = () => (
<>
<Button>Base Button</Button>
</>
);
export default App;
위 코드의 결과:
버튼이 멋져 보이지만 버튼 테두리의 색상을 변경하고 다른 사람의 스타일을 유지하려면 어떻게 해야 합니까?
스타일이 지정된 다른 구성 요소를 만드시겠습니까?
const DangerousButton = styled.button`
border: 1px solid red;
border-radius: 5px;
font-size: 20px;
`;
아니!
스타일을 확장하여 위와 동일한 것을 더 아름답고 유지하기 쉽게 마무리할 수 있습니다.
확장 스타일을 사용하는 방법은 아래 코드와 같이 새로운 스타일 구성 요소를 만들 때 기본 스타일 구성 요소를 제공하는 것입니다.
const Button = styled.button`
border: 1px solid black;
border-radius: 5px;
font-size: 20px;
`;
const DangerousButton = styled(Button)`
border: 1px solid red;
`;
DangerousButton
는 Button
의 스타일을 확장하고 위의 예에서 border
와 같은 동일한 설정의 스타일을 재정의합니다.
따라서 결과는 다음과 같습니다.
너무 좋아, 그렇지? 또한 다른 태그를 사용하고 동일한 설정의 스타일을 유지하려면 태그 이름만 변경하면 됩니다. 즉, 다른 태그를 사용할 때 동일한 스타일을 확장할 수 있습니다. 방법은 스타일이 지정된 구성 요소를 사용할 때 추가as
소품과 렌더링할 태그 이름을 지정하는 것입니다.
따라서 Button
의 스타일을 확장하고 a
또는 div
로 렌더링하려면 as
를 사용할 때 a
소품을 통해 div
또는 Button
를 제공할 수 있습니다.
const App = () => (
<>
<Button as="a" href="https://dev.to">Base Button</Button>
<Button as="div">Base Button</Button>
</>
);
위의 결과인 Button
는 div
및 a
로 렌더링됩니다.
결론
그래서 이 포스트에 따르면 styled component를 사용하면 프로그램 언어와 유사한 방식으로 스타일을 정의할 수 있다고 말했습니다. 스타일 컴포넌트는 매우 편리하고 재미있습니다! 😃
Reference
이 문제에 관하여(스타일이 지정된 구성 요소 배우기 시작!(2)-스타일 확장), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://dev.to/ms314006/start-learn-styled-components-2-extending-styles-ef3
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
import React from 'react';
import styled from 'styled-components';
const Button = styled.button`
border: 1px solid black;
border-radius: 5px;
font-size: 20px;
`;
const App = () => (
<>
<Button>Base Button</Button>
</>
);
export default App;
const DangerousButton = styled.button`
border: 1px solid red;
border-radius: 5px;
font-size: 20px;
`;
const Button = styled.button`
border: 1px solid black;
border-radius: 5px;
font-size: 20px;
`;
const DangerousButton = styled(Button)`
border: 1px solid red;
`;
const App = () => (
<>
<Button as="a" href="https://dev.to">Base Button</Button>
<Button as="div">Base Button</Button>
</>
);
그래서 이 포스트에 따르면 styled component를 사용하면 프로그램 언어와 유사한 방식으로 스타일을 정의할 수 있다고 말했습니다. 스타일 컴포넌트는 매우 편리하고 재미있습니다! 😃
Reference
이 문제에 관하여(스타일이 지정된 구성 요소 배우기 시작!(2)-스타일 확장), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/ms314006/start-learn-styled-components-2-extending-styles-ef3텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)