더북(TheBook)

만약 현재 프로젝트에서 이벤트를 사용한다면 다음과 같은 구현이 가능해집니다.

FeedScreen: refresh 이벤트에 콜백 함수 등록

UploadScreen: 포스트 작성 후 refresh 이벤트 발생

UploadScreen에서 새 포스트가 작성되면 refresh라는 이벤트가 발생하고, FeedScreen에서 해당 이벤트를 위해 등록한 콜백 함수가 호출되는 것이죠.

또는 이러한 것도 구현할 수 있습니다.

FeedScreen: update_post 이벤트에 콜백 함수 등록

ProfileScreen: update_post 이벤트에 콜백 함수 등록

PostScreen: update_post 이벤트에 콜백 함수 등록

ModifyScreen: 포스트 수정 후 update_post 이벤트 발생(추가 정보로 iddescription 전달)

만약 사용자가 Feed > Profile > Post > Modify 순서로 화면에 진입했다고 가정해봅시다. 그리고 포스트를 수정하면 콜백 함수를 통해 각 화면의 데이터를 업데이트할 수 있죠. 앞에서와 같이 콜백 함수는 여러 개를 등록할 수 있습니다.

이벤트를 사용했을 때의 장점은 최소한의 공수를 사용해 특정 화면에서 다른 화면으로 변화를 발생시킬 수 있다는 점입니다. 단점은 이벤트가 많아졌을 때 코드를 추적하기가 어려워질 수 있지요.

이 책에서는 두 가지 방법 중 이벤트를 사용하는 방식으로 다른 화면 간 흐름을 제어해보겠습니다.

언급한 방법 외에 다른 방법도 있습니다. 예를 들어 리덕스, 리코일, 리액트 쿼리 등의 라이브러리를 사용하는 방법입니다. 이 라이브러리들은 결국 전역 상태를 사용하는 것이라 원리 자체는 첫 번째 방법이랑 비슷하지만, 성능이 더 나을 수 있고 더 깔끔한 코드로 구현할 수도 있습니다. 이에 대해선 책의 후반부에서 더 자세히 배워보겠습니다.

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.