0503-Peeker-Styled-Components-01
스타일드 컴포넌트 !!!
클래스명 중복 생각 안 해도 됨 알아서 중복 제거 .
Sass설치 필요 x->고로 웹팩 설정 따로 필요 없음!
변수, 믹스인, 네스티드, 장점은 다 사용 가능 + props까지 !!!
시작해봅시다
injectGlobal
1 | injectGlobal` |
Extend
비슷한 스타일을 그대로 가지고 와서 다른 태그 혹은 컴포넌트들이 쓸 수 있다 ! + extend해서 덧붙여서 쓴다
기본 layout위주로 컴포넌트들을 만들어 놓고 색깔, size?에 따라 extend해서 쓰면 좋을 것 같다
1 | const Anchor = Button.withComponent("a").extend` |
animation
injectGlobal과 마찬가지로 keyframes모듈을 가지고 온 후 css 와 마찬가지로
from , to로 사용하면 된다.1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
${props => {
if (props.danger) {
return `animation: ${rotation} ${props.rotationTime}s linear infinite`;
}
const rotation = keyframes`
from{
transform: rotate(0deg);
}
to{
transform: rotate(360deg);
}
`;
+
themeProvider
1 | <ThemeProvider theme={theme}> |
mixin and Attributes
- mixin keyFrame or injectGlobal처럼 css모듈을 가지고 옵니다
nesting
nesting 사스와 같이 &로 쓸 수 있고 컴포넌트를 선택할 때는 ${}아래와 같이 선택하고 기존 네스팅 문법과 같이 스타일을 입력하면 됩니다 lastchild 이런 것도 쓸 수 있음
1 | const Container = styled.div` |
react-native
react-native-web
1 |
input 지원범위 required 5.0 10.0 4.0 5.0 9.6 ie10이상 이건 무조건 채워야 한다.
속성을 쓰거나
피커 SignupPage 퍼블리싱 작업
배운 부분
expo linear-gradient쓸 떄 @types/expo 설치해야 됨 !
스타일드 컴포넌트 모듈들… 좀 중구난방으로 섞여있다. 처음 설계 부터 기본 부품을 잘 만들어 놓고 여기 저기서 쓰게 끔
전체 페이지를 쭈욱 보면서 설계할 필요성 !
- 이슈
TextInput에 underLine이 그어지는데 기본 TextInput에는 라인이 없는데… 왜 계속 생기는지 … 디버깅이 어렵다 찍어보면 어디서 잘 못 됬는지 알기 좋을 텐데 genyMotion인가 이걸 깔아야 겠다
추가로 해야 되는 부분
1.아래 Link와 Text가 섞여 있는 부분 줄 바꿈 처리 및 이상하게 뒤섞여 있는데 어떻게 처리할지
… 시간 너무 오래걸렸다.
아쉬운 부분
- import { LinearGradient } from ‘expo’; expo 모듈 linearGradient -> styled-component로는 계속 에러가 나서 작업을 못했는데… 분명 있을 것도 같은데 다시 알아봐야 겠다.
- linkedInText
link랑 Text … 섞여 있는 부분을 그냥 이렇게 처리 했는데 심지어 컨테이너랑 기본 Text들 아직… styledComponent로는 바꾸지도 않음.. 스타일드 컴포넌트 왜 쓴겨
원하는 부분 줄바꿈을 해주고 싶은데 어떻게 처리해야 하는지와 Text와 Link가 섞여 있을 때 한 컴포넌트로 props로 받아서 처리하려면 어떻게 해야 할까?
1 | <View style={{paddingLeft: 30, paddingRight:30}}> |