리액트보다 다른 게 더 좋다 🫠
얼마 전, 이제는 리액트를 놓아주고 시그널 기반의 최신 프레임워크(ex: Vue, Svelte...)들을 쓰자는 취지의 위시켓 글을 보고 굉장한 공감을 했다.
이전에 글로 쓰기도 했지만, 나 역시 리액트를 안 좋아한다. 2025년 지금까지도 리액트를 쓰는 건 과장 좀 보태서 마치 고수준 언어들을 써도 되는 상황에서 어셈블리를 쓰는 느낌이다.
리액트 컴파일러가 나왔다곤 하지만 여전히 개발자들은 useCallback useMemo 등 리렌더링 최적화에 신경을 써야한다. 아니 대체 왜? GC 없는 unmanaged 언어들은 잘 쓰면 성능상의 이점이라도 있지, 브라우저 렌더링 최적화를 사람이 해야하는 상황은 순수 짐이며 휴먼에러만 늘릴 뿐이라고 본다.
게다가 대세가 클래스 컴포넌트에서 함수형 컴포넌트로 넘어오며 useEffect를 라이프사이클 처리에 대한 일종의 핵(?)으로 쓰는 것도 굉장히 부자연스럽고 짜친다고 느껴지지 않을 수 없다. 뭐 애초에 함수형인데 Effect를 가질 수 있다는 것 자체부터 엄격하지 않았던 설계를 보여준다는 생각도 들고.
한 함수 내에서 두 개 이상의 useEffect가 서로 무한재귀를 일으키는 코드를 짜 본 실수는 누구나 해봤을 것이다. 난 이게 마냥 개발자의 역량 부족 때문만이라고 생각하지 않는다.
이젠 세상이 리액트를 놓아줄 때가 됐다고 생각하지만 그럴 기미가 보이지 않는다. 나 역시 여전히 누군가가 "딱 하나만 배운다면 뭘 해야 하는가?" 묻는다면 현실적 이유로 리액트를 이야기할 수 밖에 없다.
리액트의 아성은 언제쯤 꺾일까?