2020/02/15
import { AppRegistry } from 'react-native';
import App from './App';
import { name as appName } from './app.json';
AppRegistry.registerComponent(appName, () => App);
import React from 'react';
import {
SafeAreaView,
StyleSheet,
ScrollView,
View,
Text,
StatusBar,
} from 'react-native';
div
와 비슷한 역할StyleSheet.create
함수를 사용하여 스타일 객체를 만든 후, 스타일을 적용하고 싶은 부분에 <View style={styles.container}></View>
와 같이 스타일 객체를<View style={{ backgroundColor: Colors.white }}></View>
npm install typescript @types/react @types/react-native --save-dev
tsconfig.json
파일을 생성하고, 아래 코드를 작성한다.{
"compilerOptions": {
"allowJs": true,
"allowSyntheticDefaultImports": true,
"esModuleInterop": true,
"isolatedModules": true,
"jsx": "react",
"lib": ["ES6"],
"moduleResolution": "node",
"noEmit": true,
"strict": true,
"target": "esnext"
},
"exclude": [
"node_modules",
"babel.config.js",
"metro.config.js",
"jest.config.js"
]
}
...
interface Props {}
...
const App = ({}: Props) => {
...
};
Styled Components
이다.object 형식으로 작성하지 않고, 웹과 동일한 방식으로 작성할 수 있다.
backgroundColor
bakcground-color
npm install --save styled-components
npm install --save-dev @types/styled-components
import React from 'react';
import styled from 'styled-components/native';
interface Props {}
const App = ({ }: Props) => {
return (
<>
<Body>
<TextStyle>하이루 네이티브</TextStyle>
<TextStyle>하이루 네이티브</TextStyle>
</Body>
</>
);
};
export default App;
const Body = styled.View`
background-color: black;
flex: 1;
justify-content: center;
align-items: center;
`;
const TextStyle = styled.Text`
color: white;
font-size: 24px;
font-weight: 900;
`;
style-components/native
로 import하여야한다.'../../../button'
'~/button'
npm install --save-dev babel-plugin-root-import
babel.config.js
파일이 생성되는데, 아래와 같이 수정한다.module.exports = {
presets: ['module:metro-react-native-babel-preset'],
plugins: [
[
'babel-plugin-root-import',
{
rootPathPrefix: '~',
rootPathSuffix: 'src',
},
],
],
};
{
"compilerOptions": {
...
"baseUrl": "./src",
"paths": {
"~/*": ["*"]
}
},
"exclude": [
....
]
}
import App from './App';
// 위코드에서 아래코드로 수정
import App from '~/App';
ctrl+m
을 이용한다.