개발자
류준열

react

React 외부에서 상태관리 하여 컴포넌트 호출하기(toast)

useToast를 만들어 쓰고 있었는데 이는 컴포넌트, 훅 외부에서 사용할 수 없다는 한계가 있다. this는 메소드가 자신을 호출한 객체를 가리킨다는 성질을 이용하여 React 외부에서 상태를 변경 할 수 있다.

Props변화와 리렌더링은 무관하다.

Props 변경이 리렌더링을 일으킨다는 글들이 많다. 사실이 아니다.

동시성 렌더링

동시성 렌더링은 두가지 일을 동시에 하는게 아니라 우선순위를 조정해서 동시에 하는 것 처럼 보여주는 것이다.

내가 생각하는 비제어컴포넌트 이상의 react-hook-form

리렌더링을 줄이니 어쩌니 하는게 중요한게 아니다. Form을 Form답게 관리할 수 있는 것이 중요한거다.

복잡한 비즈니스로직을 프론트에서 구현해야 하는 경우

비즈니스로직이 프론트에 포함된 경우 의존대상과 세부구현을 분리하는 방식에 대해 설명

자동저장 기능 구현시 고려해야 할 것

지원선발 시스템에서 제출한 설문지의 모든 답변이 초기화 되는 이슈가 있었는데, 재현이 되지 않았다. 나중에 알고보니 다중탭 문제였다. 또한 setInterval이 react 라이프 사이클과 맞물려 작동하지 않는 이슈도 있었다.

메모이제이션이 필요한 순간

메모이제이션은 자주 쓰이는 값(or 함수)를 캐싱하여 리렌더링시 새로 만들지 않게 하는 것이다. 리액트에서는 `useMemo`, `useCallback`, `memo` 를 통해 구현할 수 있는데 여기서 굳이 설명하지는 않는다.

바탕화면 구현을 위해 Draggable.tsx 만들기

Drag and Drop 기능을 만들기 위해 라이브러리들을 검색해봤는데, 바탕화면을 구현하기에 적당한 라이브러리가 없었다. 그래서 직접 만들기로 했다.