나는 그동안 redux를 쓰며 의문을 가졌다.
사실 쓰기 매우 꺼려지기까지 했다.
global state 관리를 위해
redux를 쓰는것은 동의
다만, 그 많은 코드를 써가면서까지
비동기 요청을 하고
응답된 데이터를 state로 관리하고
해야되는걸까?
실제로 서비스를 개발하면서
gloal state로 관리해야될 데이터는
많지 않았던것같다.
때에 따라서는
global state로 관리되는 데이터들에대한
최신화 문제를 겪기도했다.
이번에 새로운 앱 MVP 제작을위해
자료조사를 하던도중
이 포스팅을 보고
"react-query" 를 도입해보았다.
react-query는 global state를
server-state와 client-state라는
두개의 개념으로 분리해서 바라본다.
나는 이에 크게 동의했다.
예를들어, 포스팅 목록을 불러왔을때는
글로벌로 관리해야한다고본다.
(사용자가 새로고침하기 전까지는)
대신, 포스팅 단일 데이터는
굳이 글로벌로 관리할 필요가 있을까?
아니라고 생각한다.
global state라는 개념을 도입하게된 배경은
[부모 -> 자식 -> 자식 -> 자식 -> 자식]
으로 props를 전달하는데 불편함이 있어서이며,
불필요한 fetch를 방지하기 위함이다.
포스팅 단일 데이터호출 및 렌더링에는
이런 문제가 있지도 않을텐대
그 많은 코드를 써가며 global state로
관리할 이유가 없다고 생각하는것이다.
이런 측면에서 접근했을때
경우에 따라 global state로 관리해야 하는 경우에만
Redux를 이용하고
일반적으로는 state 그 자체면 충분하다.
특히나, 비동기 요청을 위해
redux-sage, redux-thunk등을 쓸 이유?
는 없어진다고 생각한다.
아직까지는 대규모 프로젝트에서
관리의 용이성을 위해 redux + redux-saga를 많이 쓴다곤 하지만
react-query가 어느정도 궤도에 이르면
redux + react-query 구조로 가지는 않을까하고
조심스럽게 예상해본다.
이제 만들고있는 앱에
redux도 붙이러 가야겠다
redux-saga, redux-thunk가
너무나도 싫어서
기피하고 외면하던 게으른 개발자가
마음에 쏙드는 신문물을 발견해
작성한 포스팅입니다.
'개발, 코딩 > React' 카테고리의 다른 글
react, Textarea 줄바꿈 제한 (0) | 2022.02.11 |
---|---|
Hooks, 놓치면 안되는 몇가지 중요 포인트 (0) | 2022.01.04 |
React와 함께쓸때 Fullpage.js + aos 로딩 이슈 (0) | 2021.01.08 |
Input, number타입 한글방지 (1) | 2020.11.19 |
React, how do i improve page loading? (0) | 2020.05.14 |