
1. Touchable
(1) TouchableHighlight
터치가 되었을 때 색을 어둡게 하거나, underlayColor prop을 활용해 특정 색을 활성화시킨다.
(2) TouchableOpacity
사용자가 터치했을 때 래핑된 뷰의 불투명도가 감소해 흐리게 표시된다.
(3) TouchableNativeFeedback
터치했을 때 잔물결이 일어난다.
이런 잔물결을 사용자에게 피드백을 준다는 뜻으로 사용된다.
(4) TouchableWithoutFeedback
터치했을 때 잔물결이 일어나지 않는다.
- Press Event
리액트 네이티브에서 onClick 이벤트와 가장 비슷한 이벤트는 press 이벤트다.
import React from 'react';
import { TouchableOpacity, Text } from 'react-native';
const EventButton = () => {
  const _onPressIn = () => console.log('Press In !!!\n');
  const _onPressOut = () => console.log('Press Out !!!\n');
  const _onPress = () => console.log('Press !!!\n');
  const _onLongPress = () => console.log('Long Press!!!\n');
  return (
    <TouchableOpacity
      onPressIn={_onPressIn}
      onLongPress={_onLongPress}
      onPressOut={_onPressOut}
      onPress={_onPress}
    >
      <Text style={{ color: 'white', fontSize: 24 }}>Press</Text>
    </TouchableOpacity>
  );
};
export default EventButton;
- onPressIn : 터치가 시작될 때
 - onPressOut : 터치가 해제될 때
 - onPress : 터치가 해제될 때 onPressOut 이후 호출
 - onLongPress : 터치가 일정 시간 이상 지속되면
 
2. AppRegistry
/* 기본 구조 */
AppRegistry.registerComponent(앱이름, () => 시작컴포넌트)
/* index.js */
import {AppRegistry} from 'react-native';
import App from './App';
AppRegistry.registerComponent(appName, () => App);
AppRegistry 는 App 의 루트 Component 를 지정하여, 애플리케이션 시작을 등록하는 API 이다.
이를 통해 시작하는 컴포넌트를 찾는다.
3. export default connect
1. connect 함수에는 mapStateToProps, mapDispatchToProps 를 인자로 넣어준다.
2. mapStateToProps 는 리덕스 스토어의 상태를 조회해 어떤 것들을 props 로 넣어줄지 정의한다.
- 현재 리덕스 상태를 파라미터로 받아온다.
3. mapDispatchToProps 는 액션을 디스패치하는 함수를 만들어 props 로 넣어준다.
- dispatch 를 파라미터로 받아온다.
import React from 'react';
import { connect } from 'react-redux';
import Counter from '../components/Counter';
import { increase, decrease, setDiff } from '../modules/counter';
function CounterContainer({ number, diff, increase, decrease, setDiff }) {
  return (
    <Counter
      // 상태와
      number={number}
      diff={diff}
      // 액션을 디스패치 하는 함수들을 props로 넣어줍니다.
      onIncrease={increase}
      onDecrease={decrease}
      onSetDiff={setDiff}
    />
  );
}
// mapStateToProps 는 리덕스 스토어의 상태를 조회해서 어떤 것들을 props 로 넣어줄지 정의합니다.
// 현재 리덕스 상태를 파라미터로 받아옵니다.
const mapStateToProps = state => ({
  number: state.counter.number,
  diff: state.counter.diff
});
// mapDispatchToProps가 함수가 아니라 객체면
// bindActionCreators 를 connect 에서 대신 해줍니다.
const mapDispatchToProps = {
  increase,
  decrease,
  setDiff
};
// connect 함수에는 mapStateToProps, mapDispatchToProps 를 인자로 넣어주세요.
export default connect(
  mapStateToProps,
  mapDispatchToProps
)(CounterContainer);
/* 위 코드는 다음과 동일합니다.
  const enhance = connect(mapStateToProps, mapDispatchToProps);
  export defualt enhance(CounterContainer);
*/
4. navigator.userAgent
현 상태 가져오는 아이
- navigator : 브라우저의 정보를 제공해주는 객체
 - userAgent : 클라이언트가 사용하는 브라우저의 종류
 
5. Object
자바스크립트의 거의 모든 것은 객체라고 생각하면 된다.
객체 = '{key : value}' 형태의 프로퍼티들을 저장하는 컨테이너 !
우리는 잘 정리된 객체를 통해 수없이 다양한 valus들을 key를 인덱스 삼아 빠르고 정확하게 찾을 수 있다.
중괄호만 보면 . . 객체라는 것을 인지하자 ! !
만들어진 객체의 value 값을 불러올 때에는 온점(.)과 대괄호([])를 사용하면 된다.
이 Object 에 관련된 내용은 게시글을 하나 쓰려다가 . .
너무너무 잘 정리하신 글을 봐서 여기에 넣게 되었다. 💌 블로그 글 보기
- Object.keys() = 객체의 모든 key 들을 배열로 보여줌
 - Object.values() = value 들을 배열로 보여줌
 - Object.assign(target, source) = 인자로 받은 객체들을 합쳐줌
 
const Data = {
	car: "Pontiac",
	animal: "Egyptian vulture",
	color: "Green"
}
Data.car // Pontiac
6. 점점점 ...
이 아이들은 비구조화 할당 문법 이라고 한다 !
'비구조화 할당 (destructuring assignment) 구문' 은 배열이나 객체의 속성을 해체하여
그 값을 개별 변수에 담을 수 있게 하는 자바스크립트 표현식이다.
간단하게 말해, 배열 [] 혹은 객체 {} 안의 값을 편하게 꺼내 쓸 수 있는 문법이다.
사용법과 상세한 내용은 💌 블로그 내용 을 참고하자
리액트와 리액트 네이티브에 대해서
조금씩 배우고 있는 이상 이 게시물의 길이는 한도 끝도 없이 늘어날 것으로
예상 . . 열심히 달려보겠습니다 . . 🔥
Θ 참고
http://blog.wjhong.pe.kr/reactnative/2017/02/08/ReactNative-2-Basic/ (기초 하나하나 자세한 설명)
http://suhanlee.github.io/2017/react-native-guide-2.html (적당한 기초글)
https://ko.reactjs.org/docs/hello-world.html (React 공식문서)
https://velog.io/@easttwave/ReactNative-Component (React Native 컴포넌트)
Hello World – React
A JavaScript library for building user interfaces
ko.reactjs.org
'Project > softsphere' 카테고리의 다른 글
| [React Native] Android 와 iOS 네이티브 모듈 구현하기 (0) | 2021.12.16 | 
|---|---|
| [React Native] Access Token 과 Refresh Token (0) | 2021.12.09 | 
| [JavaScript] Export Default 에 대해서 (0) | 2021.10.24 | 
| [React] HTTP API 연동을 위한 Axios vs Fetch API (0) | 2021.10.24 | 
| [React Native] AsyncStorage (0) | 2021.10.19 |