
React Native에서 자주 쓰이는 CoreComponents를 알아보려합니다.

위 이미지는 ReactNative 공식 문서에서 가져온 예시입니다.
https://reactnative.dev/docs/intro-react-native-components
각각 Android와 iOS화면입니다.
Android에서는 화면을 ViewGroup으로 감싸고 ImageView, TextView 총 3가지의 Components로 구성되어있습니다.
iOS에서는 UIView로 감싸고 UIImageView, UITextView 로 구성되어있습니다.

ReactNative 공식문서입니다.
화면을 구성할 때 기본적으로 사용해야하는 Components들에 대한 설명이 나와있습니다.

View Text Image TextInput ScrollView StyleSheet 6가지가 있습니다.

사용자와의 상호작용에 쓰이는 Button과 Switch가 있습니다.

여러가지의 리스트를 나열할 때 필요한 FlastList SectionList가 있습니다.

Android 플랫폼에서 사용할 수 있는 Components 와 API 입니다.

iOS 플랫폼에서 사용할 수 있는 Components 와 API 입니다.

그리고 그 외에 사용되는 Components 들입니다.
위의 컴포넌트 중에서 Basic Components와 User Interface 에 대해 간단히 알아보려합니다!

expo Project를 처음 init 했을때 기본적으로 구성된 App.js 코드입니다.
App.js 코드에서 이미 Basic Components의 3가지나 사용하고 있습니다.
View로 감싸져 있고, 안에 Text와 StatusBarText 는 문자열을 나열하기 위한 것StatusBar 는 Other에 있는 것으로 상태바를 관리해주는 components
Components를 스타일링 하는 방법container 라는 이름을 가진 스타일링
text 요소에 대한 style을 추가하여, 폰트사이즈를 키우고, 굵게 변경하였고, 파란색을 적용한 모습입니다.
Compononetssource 속성 사용 - local에 있는 파일, 외부 이미지 URL 사용 가능
귀여운 고양이 이미지를 프로젝트 내에 저장하여 요소에 추가하였습니다.

사진 크기 그대로의 랜더링이 되는데 스타일링을 통해 사이즈 조정이 가능합니다.

외부 이미지 링크(절대경로)를 추가하였고, 이미지 스타일링을 각각 해주었습니다.

local_image는 100x100, url_image는 200x200 의 크기로 조정된 것을 확인할 수 있습니다.

TextInput요소를 추가하고 고정된 value값을 넣어주었습니다.

커서를 클릭하면 직접 입력이 가능합니다.

value 값을 고정으로 줘서 수정이 되지 않습니다.

value값을 지워서 입력할 수 잇게 하거나 placeholder를 이용하여 값이 없을 때 뜨는 문구를 지정할 수 있습니다.



ScrollView를 import해주고, 요소를 추가해줍니다.

한 화면에서 전부 랜더링되지 못하는 것들이 스크롤로 랜더링이 됩니다.
title, onPresstitle 속성 필요 - 버튼 이름onPress - 버튼을 클릭했을 때 실행되는 함수 
버튼을 클릭했을 때 콘솔에 clicked! 문구가 찍히도록 작성하였습니다.

가운데에 생긴 Click Me! 버튼을 클릭해줍니다.

버튼을 클릭할 때마다 터미널에 log가 찍히는 것을 볼 수 있습니다.

마찬가지로 import해주고, Switch요소를 추가해줍니다.
value값은 true, false 값을 주었습니다.

value를 true인 부분은 선택된 UI가,
false인 부분은 선택되지 않은 UI가 보여집니다.
바뀌어야하는 값이기 때문에 state라는 것을 활용해서 변하도록 다음에 자세히 다루도록 하겠습니다.