샘플 코드를 보면서 이전 게시물을 토대로 기본 앱의 소스 코드와 리액트 네이티브 프로젝트의 구조를 살펴보자!
Create React Native App으로 생성한 프로젝트의 시작 코드인 App.js
import React form "react";
import { StyleSheet, Text, View } from "react-native";
export default class App extends React.Component {
render(){
return (
<View style={styles.container}>
<Text>Hello, world!</Text>
</View>
);
}
}
const styles = StyleSheet.create({
container : {
flex: 1,
backgroundColor: "#fff",
alignItem: "center"
justifyContent: "center"
}
});
전형적인 리액트 네이티브 프로젝트의 시작 코드 index.ios.js(index.android.js)
import React, {Component} form "react";
import {
AppRegistry,
StyleSheet,
Text,
View
} from 'react-native';
export default class FirstProject extends Component {
render(){
return (
<View style={styles.container}>
<Text style={styles.welcome}>
Welcome to React Native
</Text>
<Text style={styles.instructions}>
To get started, edit index.ios.js
</Text>
<Text style={styles.instructions}>
Press Cmd+R to reload, {'\n'}
Cmd+d or shake for dev menu
</Text>
</View>
);
}
}
const styles = StyleSheet.create({
container : {
flex: 1,
justifyContent: "center",
backgroundColor: "#F5FCFF",
alignItems: "center",
},
welcome: {
fontSize: 20,
textAlign: "center",
margin: 10,
},
instructions : {
color: '#333333',
textAlign: "center"
marginBottom: 5,
},
});
AppRegistry.registerComponent('FirstProject', () => FirstProject);
import React, {Component} form "react";
import {
AppRegistry,
StyleSheet,
Text,
View
} from 'react-native';
부분을 보면 React를 import하는 방법은 일반적인데
그 다음 줄을 보면 , 사용하는 네이티브로 제공되는 모듈을 모두 명시적으로 import 하고 있다.
리액트 네이티브는 <div>처럼 바로 사용할 수 있는 것이 아니라
<View>와 <Text>와 같은 컴포넌트를 사용하고자 할 때 명시적으로 불러와야 한다.
StyleSheet나 AppRegistry와 같은 라이브러리 함수의 경우에도 이 구문을 이용하여 명시적으로 불러와야 한다.
- FirstProject 컴포넌트와 스타일 객체 -
export default class FirstProject extends Component {
render() {
return (
<View style={styles.container}>
<Text style={styles.welcome}>
Welcome to React Native
</Text>
<Text style={styles.instructions}>
To get started, edit index.ios.js
</Text>
<Text style={styles.instructions}>
Press Cmd+R to reload, {'\n'}
Cmd+d or shake for dev menu
</Text>
</View>
);
}
}
const styles = StyleSheet.create({
container : {
flex: 1,
justifyContent: "center",
backgroundColor: "#F5FCFF",
alignItems: "center",
},
welcome: {
fontSize: 20,
textAlign: "center",
margin: 10,
},
instructions : {
color: '#333333',
textAlign: "center"
marginBottom: 5,
},
});
리액트 네이티브의 모든 스타일은 스타일시트 대신에 스타일 객체를 통해 작성하게 된다.
StyleSheet 라이브러리를 활용하여 스타일 객체를 작성하는 것이 표준 방법이다.
<Text>컴포넌트에 글자 스타일에 해당하는 fontSize속성을 지정할 수 있고 레이아웃 방법은 flexbox를 이용해 지정한다.
다음 내용은 위 책을 참고하여 작성하였습니다:)
'React Native > 이론' 카테고리의 다른 글
[React Native] 리액트 네이티브 React.createElement API (0) | 2021.09.17 |
---|---|
[React Native] 리액트 네이티브 DOM과 렌더링 - 물리 DOM, 가상 DOM, 차이점, react 패키지 역할, 브릿지 방식 렌더링 (0) | 2021.09.16 |
[ReactNative] 리액트 네이티브 로컬 개발 환경 설정 2가지 방법(create-react-native-app, 기본적인 방법)과 실행 (0) | 2021.09.02 |
[ReactNative] 리액트 네이티브 대상 플랫폼 API (0) | 2021.09.01 |
[ReactNative] 리액트 네이티브 컴포넌트 만들기 (뷰 작업, JSX 사용, 네이티브 컴포넌트 스타일링) (0) | 2021.08.30 |
댓글