TouchableOpacity View가 터치에 적절하게 응답하도록하는 래퍼이다. 

아래로 누르면 래핑된 뷰의 불트명도가 감소하여 흐리게 표시된다.


render() {
let opacity = this.props.disabled ? 1 : 0.5;
return (
<TouchableOpacity
activeOpacity={opacity}
onPress={this.props.onPress}
style={[styles.wideButton, this.props.style]}
>
{this.props.children}
</TouchableOpacity>
);
}



  • activeOpacity : 터치가 활성화 되었을때 래핑된 뷰의 불투명도 값 (Default 0,2)
  • tvParallaxProperties : Apple Tv 시차 효과를 제어한다. (Only Apple TV)
  • hasTVPreferredFocus : Tv 우선 포커스 설정 (Only Apple TV)
출처 : https://facebook.github.io/react-native/docs/touchableopacity#activeopacity


'React & React Native ' 카테고리의 다른 글

ReactNative flexBox 연습1  (0) 2018.11.15
리액트란? (React)  (0) 2018.10.21
react-native 특정버전으로 프로젝트 생성하기  (0) 2018.10.17
FlexBox 레이아웃이란? (2)  (0) 2018.10.17
FlexBox 레이아웃이란? (1)  (0) 2018.10.14
블로그 이미지

클라인STR

,

react-native  0.57.2 버전으로 프로젝트 생성할 경우 버그가 많아서 ,버전을 낯춰서 프로젝트를 생성하기로 하였다.


react-native init --version="0.57.0" ProjectName




'React & React Native ' 카테고리의 다른 글

리액트란? (React)  (0) 2018.10.21
TouchableOpacity  (0) 2018.10.18
FlexBox 레이아웃이란? (2)  (0) 2018.10.17
FlexBox 레이아웃이란? (1)  (0) 2018.10.14
default node version 변경하기  (0) 2018.10.14
블로그 이미지

클라인STR

,

flexWrap 은 상위 컨테이너 공간이 부족할때  항목을 어떻게 wrap 하는지 결정한다. 

  • nowrap : 모든 요소를 한 줄에 정렬한다.
  • wrap :  요소들을 여러줄에 걸쳐 정렬한다.
  • wrap-reverse :  요소들을 여러 줄에 걸쳐 반대로 정렬한다. 

flexBox는 1차원 모델이지만 항목을 여러줄로 묶을수 있다. 이때 사용하는 속성이 flewWrap 이다. 

블로그 이미지

클라인STR

,

Flexbox는 CSS3릐 레이아웃 모드이다.  block이나 inline과 같은 기존의 레이아웃 모드와 달리 flexbox는 레이아웃을 만들 때 배치하는 방향을 지정할 수 있다. 

리액트 네이티브는 flexbox에 상당히 의존적이다.

flex는 flexible의 줄임말로 유동적인 레이아웃을 쉽게 만들수 있다는 의미이다.


React Native에서의 FlexBox는 CSS에서와 마찬가지로 동일한 방식으로 동작하지만 몇가지 예외가 존재한다. 


  • flexDirection 은 행대신에 열을 기본값으로 사용하고 있다.
  • flex 매개변수 지정시 단일 숫자값만 지원한다.

리액트 네이티브에서 사용할 수 있는 flexbox 속성은 다음과같다. 

  • flex
  • flexDirection
  • flexWrap
  • alignItems


flex 속성은 display: flex 지정된 부모컨테이너 속성과 같다고 생각할 수 있다. 해당 컨테이너에 배치된 요소를 항목이라고하며 다음과같은 구조를 가진다. 



각 컨테이너는 flex-start 와 flex-end 포인트를 가진다. Flex는 주축 (Main axis) 교차축 (Cross-Axis)이 있다. 가로 축은 주축이고 세로축은 교차축 이다. 

가로축은 flex-direction 정의된다.  flex-direction 속성을 row 또는 row-reverse를 선택한경우 ,행을 기준으로 인라인방향으로 실행된다. (가로방향)


     column 또는 column-reverse 선택하면 주축이 페이지 위에서 아래쪽으로 블록 방향으로 실행된다. 

flex-direction 기본값은 행 (Main-axis)이며 왼쪽에서 오른쪽으로 이동되나, 원점은 변경될수 있다. row-reverse 할경우 원점은 오른쪽이다. 




https://developer.mozilla.org/en-US/docs/Web/CSS/CSS_Flexible_Box_Layout/Basic_Concepts_of_Flexbox 





블로그 이미지

클라인STR

,

Default Node 버전을 변경해야되는경우 다음 명령어를 실행한다. react-native 실행시 node 버전을 default 버전을 따르는거 같아서 아래 명령을 수행하여 default 버전을 변경하였다.


nvm alias default 버전명



nvm 을 이용하여 필요한 npm 버전을 설치합니다.



nvm ls 명령어를 이용하면 default 버전이 8.3.0 인데  해당버전을 8.10.0 으로 변경해줍니다. 



출처 : https://eric.blog/2016/08/23/set-default-node-version-with-nvm/

블로그 이미지

클라인STR

,

react-native-device-info ReactNative에서 디바이스에 정보를 출력하는 네이티브 라이브러리 이다. 


[Installation] 
npm install --save react-native-device-info


[Linking]

 react-native link react-native-device-info



react-native-device-info를 사용하여 디바이스 정보를 출력해보자 


import DeviceInfo from 'react-native-device-info';


_DeviceInfo() {
console.log("DeviceInfo.getApplicationName : "+DeviceInfo.getApplicationName());
console.log("DeviceInfo.getBrand : "+DeviceInfo.getBrand());
console.log("DeviceInfo.getBrand : "+DeviceInfo.getBrand());
console.log("DeviceInfo.getBuildNumber : "+DeviceInfo.getBuildNumber());
console.log("DeviceInfo.getDeviceCountry : "+ DeviceInfo.getDeviceCountry());
console.log("getDeviceLocale : "+DeviceInfo.getDeviceLocale());
}





더 자세한 내용은 https://github.com/rebeccahughes/react-native-device-info 참고하자

블로그 이미지

클라인STR

,

XCode에서 RCTCameraRoll 라이브러를 연결하는법을 알려주는 동영상링크이다. 



블로그 이미지

클라인STR

,

실습시 해당에러가 발생하면서 로딩이 진행되지 않는 현상이 발생하였다. 

구글링해서 확인을 해보니 react-native 0.57.2 버전에서 위와같은 문제가 나타나는듯 하다. 


react-native start --reset-cache


명령프롬프트에 명령어를 실행하고 , react-native run-ios 실행한다. 



https://github.com/facebook/react-native/issues/21530

https://github.com/facebook/react-native/issues/21490

블로그 이미지

클라인STR

,