Context API 사용후기

Breadman·2021년 12월 8일
0

Context API를 공부하고 사용해보면서 느낀 몇 가지 특징들을 정리해봤다.

Context API는 상태관리도구가 아니다

Context API는 흔히 상태관리도구로 알려진 Redux, Mobx와 결이 다르다.
오히려 useState나 useReducer가 상태관리에 더 가깝다.

Context API는 쉽게 말하면, 애플리케이션 전반에서 접근가능한 전역변수를 설정하는 도구라고 볼 수 있다. context tree 내부에 선언된 모든 곳에서 지정한 값에 접근가능하도록 하는 것이다. 그렇다. 상태가 아니라 이다.
따라서 전역상태관리를 위해선 위에 언급한 useState나 useReducer와 함께 사용해야한다.

많은 state를 다루기엔 적합하지 않다

To-do list로 실습하면서 느낀 단점으로, 많은 state를 관리하기엔 부적합하다고 느꼈다. redux처럼 provider로 범위를 지정해줘야하는데, context로 다뤄야할 값이 많을 수록 context tree가 많아져 callback 지옥마냥 보기 좋지 않았다. 간단한 To-do list를 만들면서 실습했는데, 하나의 component로 다뤄서인지 번잡스러웠다.

여기에 기능들이 배로 추가된다면 더욱 곤란해질 것이다.

또한 To-do list에서 사용하는 state들이 render된 결과로 쉽게 확인돼서 망정이지, 그렇지 않은 경우엔 redux-logger나 devtool같은 도구들이 없어 디버깅이 쉽지 않을 것 같다.

결론

적당한 수준의 기능과 단순히 props drilling을 피하기 위해서라면 context API는 좋은 수단이 될 수 있다. 하지만 어느 정도 규모있고, 이로 인해 더 강력한 도구들이 필요하다면 Redux같은 잘 만들어진 상태관리툴을 사용하는 것이 더 적합다.

profile
빵돌입니다. 빵 좋아합니다.

0개의 댓글