Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
Tags
- 국비지원취업
- KAKAO
- CS
- CSS
- 자바스크립트
- 부트캠프
- cpu
- nodejs
- LinkSnap
- 패스트캠퍼스
- js
- 알고리즘
- Javascript
- 코딩테스트
- github
- 야놀자
- 컴퓨터과학
- 프론트엔드개발자
- 백준
- html/css/js
- git
- computerscience
- 너비우선탐색
- 호이스팅
- DFS
- 그리디
- 국비지원
- 코테
- 컴퓨터공학
- BFS
Archives
- Today
- Total
My Boundary As Much As I Experienced
ReactNative) 스타일시트를 props로 활용하는 방법 (StyleProp<T>) 본문
스타일 객체 props 활용하는 방법
React Native에서는 스타일을 정의하고 이를 컴포넌트에 전달하는 방법이 여러 가지 있다.
스타일을 정의할 때, StyleSheet.create를 사용하여 스타일 객체를 생성하는 방법이 대표적인데,
이를 단순히 선언한 페이지에서만 쓰는게 아니라, prop으로 하위 컴포넌트에 내려줄수도 있다.
이때 Props의 타입으로서 StyleProp<T>를 많이 쓰게 된다.
StyleProps<ViewStyle>, StyleProps<ImageStyle>, StyleProps<TextStyle> 등등.
style들을 여러 개 담아 배열로 prop화할 수 있는데 이땐 StyleProps<ViewProps[]> 이런 식으로도 활용 가능하다..
사용 예시:
import React from 'react';
import { View, Text, StyleSheet, ViewStyle, TextStyle } from 'react-native';
interface Props {
containerStyle?: StyleProp<ViewStyle>;
textStyle?: StyleProp<TextStyle>;
}
const MyComponent: React.FC<Props> = ({ containerStyle, textStyle }) => {
return (
<View style={[styles.container, containerStyle]}>
<Text style={[styles.text, textStyle]}>Hello, World!</Text>
</View>
);
};
const styles = StyleSheet.create({
container: {
backgroundColor: 'blue',
padding: 10,
},
text: {
color: 'white',
fontSize: 16,
},
});
export default MyComponent;
사실 평범한 객체도 스타일 객체로 사용 가능하다.
간간히 써본 기억이 있겠지만, 객체를 props로 전달해서 jsx에 스프레드하여 주입하는 것을 써본 기억이 있을 것이다.
주로 {...props} 식으로 쓴다. 이와 비슷하게 styleSheet 속성에도 그냥 객체에 담아서 넣을 수 있다.
사용 예시:
import React from 'react';
import { View, Text } from 'react-native';
const containerStyle = {
backgroundColor: 'blue',
padding: 10,
};
const textStyle = {
color: 'white',
fontSize: 20,
};
const App = () => {
return (
<View style={containerStyle}>
<Text style={textStyle}>Hello, World!</Text>
</View>
);
};
export default App;
'FrontEnd > React Native' 카테고리의 다른 글
리액트 네이티브 막간 팁 (시뮬레이터 기기 바꾸는 법, Flipper 사용 중단하기) (0) | 2024.06.23 |
---|---|
ReactNative) 이놈의 flipper... 그냥 안 써버릴려면 어떻게 해야되나? (2) | 2024.06.22 |
React Native) FlatList란? (0) | 2024.06.04 |
ReactNative) unable to boot the simulator 에러 해결법 (0) | 2024.05.30 |
ReactNative) React Native Config로 환경변수 설정 (0) | 2024.05.29 |