react-native
스타일링
수색…
소개
스타일은 CSS와 비슷한 스타일 지정 속성 이름을 사용하여 JSON 객체 내에 정의됩니다. 이러한 객체는 구성 요소의 스타일 소품에 인라인으로 배치되거나
StyleSheet.create(StyleObject)
함수에 전달 될 수 있으며 클래스와 비슷한 선택기 이름을 사용하여 더 짧은 인라인 액세스를 위해 변수에 저장 될 수 있습니다 CSS에서.
통사론
-
<Component style={styleFromStyleSheet} />
-
<Component style={styleObject} />
-
<Component style={[style1,style2]} />
비고
Most React 네이티브 스타일은 CSS 폼이지만 낙타의 경우입니다. 따라서 text-decoration
은 textDecoration
됩니다.
CSS와 달리 스타일은 상속되지 않습니다. 자식 구성 요소가 특정 스타일을 상속 받기를 원하면 명시 적으로 자식 구성 요소에 제공해야합니다. 즉, 전체 View
대해 글꼴 모음을 설정할 수 없습니다.
한 가지 예외는 Text
구성 요소입니다. 중첩 된 Text
는 부모 스타일을 상속합니다.
인라인 스타일을 사용하여 스타일 지정
각 React Native 구성 요소는 style
소품을 사용할 수 있습니다. CSS 스타일 스타일 속성을 사용하여 JavaScript 객체에 전달할 수 있습니다.
<Text style={{color:'red'}}>Red text</Text>
구성 요소가 렌더링 될 때마다 객체를 다시 만들어야하므로 비효율적 일 수 있습니다. 스타일 시트를 사용하는 것이 좋습니다.
스타일 시트를 사용하여 스타일 지정하기
import React, { Component } from 'react';
import { View, Text, StyleSheet } from 'react-native';
const styles = StyleSheet.create({
red: {
color: 'red'
},
big: {
fontSize: 30
}
});
class Example extends Component {
render() {
return (
<View>
<Text style={styles.red}>Red</Text>
<Text style={styles.big}>Big</Text>
</View>
);
}
}
StyleSheet.create()
는 값이 숫자 인 객체를 반환합니다. React Native는이 숫자 ID를 올바른 스타일 객체로 변환하는 것을 알고 있습니다.
여러 스타일 추가하기
style
소품에 배열을 전달하여 여러 스타일을 적용 할 수 있습니다. 충돌이있는 경우 목록의 마지막 항목이 우선합니다.
import React, { Component } from 'react';
import { View, Text, StyleSheet } from 'react-native';
const styles = StyleSheet.create({
red: {
color: 'red'
},
greenUnderline: {
color: 'green',
textDecoration: 'underline'
},
big: {
fontSize: 30
}
});
class Example extends Component {
render() {
return (
<View>
<Text style={[styles.red, styles.big]}>Big red</Text>
<Text style={[styles.red, styles.greenUnderline]}>Green underline</Text>
<Text style={[styles.greenUnderline, styles.red]}>Red underline</Text>
<Text style={[styles.greenUnderline, styles.red, styles.big]}>Big red underline</Text>
<Text style={[styles.big, {color:'yellow'}]}>Big yellow</Text>
</View>
);
}
}
조건부 스타일링
<View style={[(this.props.isTrue) ? styles.bgcolorBlack : styles.bgColorWhite]}>
isTrue
의 값이 true
경우는 검정 바탕색, 그렇지 않으면 흰색이됩니다.
Modified text is an extract of the original Stack Overflow Documentation
아래 라이선스 CC BY-SA 3.0
와 제휴하지 않음 Stack Overflow