[처음 배우는 리액트 네이티브] 책을 공부하면서 정리한 내용입니다.
<View> </View>
<Fragment> </Fragment>
<> </>
const 변수명 = " ";
{/* */}
태그 안 : //, /* */
: 재사용이 가능한 조립 블록. 화면에 나타나는 UI요소.
ex. 리액트 네이티브 컴포넌트, Button 컴포넌트
: properties. 부모 컴포넌트로부터 전달된, 상속받은 속성값. 자식 컴포넌트에서는 변경 불가능
App.js
<MyButton title="Button" />
: MyButton 컴포넌트를 호출 할 때 title 속성에 문자열 전달.
MyButton.js
const MyButton = props => {
console.log(props);
return (...);
};
: 전달받은 porps를 함수의 피라미터로 받아서 사용가능.
출력값 : "title" = "Button"
App.js
<MyButton> Children Props </MyButton>
: 태그 사이에 있는 값은 자식 컴포넌트의 Porps에 children으로 전달.
MyButton.js
const MyButton = props => {
return (
...
<Text> {props.children} </Text>
...
: props.children을 통해 전달받은 값 사용.
만약, 아무 값도 전달하지 않으면 아무것도 나타나지 않기 때문에 필수적으로 필요한 값이 있을 경우, 기본값을 defaultProps로 지정한다.
MyButton.defaultProps = {
title: 'Button' };
PropTypes
:props의 타입과 필수여부를 지정할 수 있는 방법
(prop-types 라이브러리 설치 필요)
MyButton.propTypes = {
title: PropsTypes.string.isRequired };
: title의 값이 string이 아니거나 전달되지 않으면 경고 메세지가 출력된다.
: 컴포넌트 내부에서 생성되고 변경 가능. 상태가 변하면 컴포넌트는 리렌더링된다. Hooks를 사용해 함수형 컴포넌트로 관리.
const [state, setState] = useState(initialState);
: state = 상태를 관리할 변수,
setState = 변수의 상태를 변경할 수 있는 세터 함수
press 이벤트 : 웹프로그래밍에서의 onClick과 비슷. (4가지)
onPressIn - 터치가 시작될 때 항상 호출,
onPressOut - 터치가 헤제될 때 항상 호출,
onPress - 터치가 해제될 때 OnPressOut 이후 호출,
onLongPress - 터치가 일정시간 이상 지속될 시 호출
change 이벤트 : 변화를 감지. TexpInput 컴포넌트에서 자주 사용.
Pressable 컴포넌트 : 사용자의 터치에 상호작용하는 넘포넌트
HitRect - 버튼보다 약간 넓은 범위를 클릭해도 이벤트 발생 가능.
PressRect - 버튼 선택 상태에서 손가락이 이동 시 같은 처음 위치에서 이벤트 발생 가능.