자바스크립트때 todo list를 만든 후 모듈화를 시도한 적이 있는데, dependency error때문에 이틀동안 고생했다. 관계도를 잘못 그리는 바람에 모든 곳에서 todos를 참조하는 문제가 발생했고 스코프도 분리되지 않았다. 다시 한 번 MVC 패턴에 의거하여
리액트를 배우다 보면 '가상돔'이라는 개념을 마주하게된다. 가상돔이란 말 그대로 가상으로 만들어진 돔을 뜻한다. 실제로 돔 API를 계속 호출하면 리페인팅, 리플로우로 인해 렌더링이 계속 발생하고, 성능이 떨어지게 된다. 이런 문제를 해결하기 위해 리액트에서는 가상돔을
이전 포스팅에서 React의 diffing algorithm에 대한 이야기를 하며 heuristics 알고리즘을 이용한다고 말한 적이 있다. 휴리스틱 알고리즘은 중요한 정보만 고려해서 최선의 값을 찾아내는 알고리즘이라고 나와있었지만, 조금 더 딥하게 알고 싶어(조금
이전에 휴리스틱 알고리즘 (reconciliation의 핵심 알고리즘)에 대해 글을 적으며 다음번 글은 Fiber에 대해 적어보아야지라고 다짐을 했었다. 매번 느끼는거지만 정말 알고리즘을 알수록 재미있고 더 잘하고 싶어지는 것 같다. 그래서 Fiber란 무엇인가? 앞서
리액트를 공부할때 아무래도 공식문서를 읽으면서 학습을 하게되는데 공식 문서를 읽다보면, 이런 라이브러리(+프레임워크)를 만드는 사람은 도대체 어떤 생각을 가지고있고, 어떤 배경으로 만들게 되었는가가 상당히 궁금해진다. (나도 언젠간 저런 프로젝트에 꼭 참여해봐야지 라는
현재 캘린더 프로젝트를 진행중인데 우리조는 리액트를 얼마나 잘 활용할지를 목표로 삼았다. 그러다보니 성능 최적화와 컴포넌트 분리에 대한 부분은 정말 중요하다고 판단이 되었고, 이 부분에 대해 공유하고 싶어 글을 적게 되었다.성능 최적화란 UI를 최적화하여 애플리케이션의
리액트를 공부하는데 봐도 봐도 계속 잊혀지는것 같아서 한 번 내 머리속도 정리하고싶어서 필요한 부분만 정리해서 올린다. 리액트의 이벤트는 웹 브라우저의 네이티브 이벤트 인터페이스와 동일하기때문에 사용법이 많이 유사하다. 다만, HTML과 달리 카멜 표기법으로 작성해야한