리액트 네이티브 : 페이스북에 의해 공개된 오픈소스 프로젝트
사용자 인터페이스를 만드는 리액트에 기반을 두고 제작됨
리액트와 달리 웹 브라우저가 아닌, ios와 안드로이드에서 동작하는 네이티브 모바일 애플리케이션을 만드는 자바스크립트 프레임워크
브릿지 : 자바스크립트 코드를 이용해 네이티브 계층과 통신할 수 있도록 연결하는 역할을 수행
리액트 네이티브의 동작 방식 이해를 위해서는 데이터가 변할 경우 자동으로 화면을 다시 그리는 리액트의 가상 DOM에 대한 이해가 필요
데이터가 변했을 떄 다시 그려지는 과정
1. 데이터에 변화 발생
1. 변화된 데이터를 이용해 가상 DOM 그림
1. 가상 DOM과 실제 DOM을 비교해 차이점을 확인
1. 차이점이 있는 부분만 실제 DOM에 적용해 그림
JSX : javascript 확장 문법으로 XML과 매우 유사
function formatName(user) {
return user.firstName + ' ' + user.lastName;
}
const user = {
firstName: "Yoo",
lastName: "Jimin",
};
const element = <h1>Hello, {formatName(user)}!</h1>;
JSX로 작성된 코드는 추후 바벨을 사용해 자바스크립트로 변환됨
위 코드를 변환했을 때,
'use strict'
function formatName(user) {
return user.firstName + ' ' + user.lastName;
}
const user = {
firstName: "Yoo",
lastName: "Jimin"
};
const element = /*#__PURE__*/ React.createElement(
'h1',
null,
'Hello, ',
formatName(user),
'!'
);