container : 어플의 비즈니스 로직을 담당한다. 해당 어플에서만 사용하는 데이터와 로직을 처리하며 이것들을 props로 presenter 에 넘긴다. Text와 Input 컴포넌트는 presenter가 가져야 하는 컴포넌트이기 때문에 container 컴포넌트에 의존하지 않도록 주의한다.
presenter : 화면을 구성하는 UI를 담당한다. 비즈니스 로직을 갖지 않는 것이 중요하다.
이상적으로 presenter 컴포넌트는 인자로 props만 가지며, 비즈니스 로직이 없기 때문에 앱과도 독립적이다. 때문에 다른 어플에서도 presenter 어플을 바로 사용할 수 있고 코드를 작성할 때도 이것에 유의하면서 작성해야 한다.

screens : 어플의 화면 단위 컴포넌트. 위에서 봤던 container 컴포넌트를 갖고 있다. 혹은 화면마다 겹치는 container 컴포넌트가 있다면 containers라는 폴더를 생성해서 관리할 수도 있다.
navigation : 화면 전환과 관련된 컴포넌트. 가장 뼈대가 되는 RootStackNavigator.js 같은 navigator 파일이 들어간다.
api : 통신과 관련된 데이터.
assets : 이미지나 폰트 등.
hooks : custom hook 파일.
reducers : reducer 함수.
theme : 테마 컬러나 mixin등 앱 전체적으로 사용할 수 있는 데이터.
utils : 앱 전체적으로 사용 가능한 간단한 함수들.