이 글은 올룰로 Confluence에 작성했던 글을 보관용으로 재포스팅 하는 것이다.
React-Native는 Single Thread라서 여러 성능 문제가 발생한다.
JS Thread에서 애니메이션을 돌리면 현실의 교통체증과 같은 문제가 발생한다.
게다가 Thread가 네트워크 요청이나 Global 상태 관리 등을 하고 있다면 더 심해질 것이다.
이 문제에 대한 해결 방안 중 하나는 react-native-reanimated의 UI Thread를 사용하는 것이다.
예를 들어 SNS의 좋아요 버튼의 경우
애니메이션(색상 변경, 좋아요 수 증가)은 UI Thread에서 돌리고
애니메이션이 끝나면 나머지 작업(서버 요청)을 JS Thread에서 실행하도록 한다