온라인 강의/React 완벽 가이드 [Udemy]

129. State 관리를 위한 useReducer 대 useState

유호야 2023. 6. 14. 01:30
반응형

 

언제 useReducer를 사용하는 지 알 수 있을까?

1) useState를 번거롭게  너무 많이 사용하게 될 경우
관련 state 스냅샷들이 서로 독립적이고 같이 업데이트가 잘 안되다면, 그 경우에는 useReducer를 사용하고 싶게 될 것이다 

 

 

대본

useReducer에 대해 배웠보았습니다

useState를 반드시 사용해야하는 건 언제인지,

useReducer를 사용하는 것이 좋을 때는 언제인지 다시 정리해 봅시다

여러분은 일반적으로 useReducer가 언제 필요한 지 알게 될 것입니다

항상 적용되는 규칙은 아닐 수도 있습니다

하지만 언제 useReducer가 필요할 지 알게 될 겁니다

예를 들어 useState를 사용하면 너무 번거로운 경우죠

너무 많은 일들을 처리해야 하는 경우죠

관련 state 스냅샷들이 서로 독립적이고 같이 업데이트가 잘 안되다면 그 경우에는 useReducer를 사용하고 싶을 겁니다

언제 useState 또는 useReducer를 사용해야 하는지에 대해 팁을 드리겠습니다

useState는 주요 state 관리 도구입니다. 보통 useState로 시작합니다

대부분의 경우엔 그것만 있으면 됩니다. 개별 state 및 데이터들을 다루기에 적합합니다

간단한 state에 적합합니다

state 업데이트가 쉽고, 몇 종류 안 되는 경우에 적합합니다

 

따라서 state가 변경되는 경우가 다양하지 않다면, 특히 state로서의 객체나 그 비슷한 게 없다면, 그러나 만약 state로서의 객체가 있는 경우 또는 복잡한 state가 있다면, useReducer를 고려할 수 있습니다

왜냐하면 일반적으로 useReducer는 더 강력하기 때문입니다, 강력하다는 것은 리듀서 함수를 쓸 수 있다는 뜻입니다. 복잡한 state 업데이트 로직을 포함하는 리듀서 함수를요

 

항상 잘 작동합니다

 

최신 state 스냅샷과도요

또한 그 복잡할 수도 있는 로직을 컴포넌트 함수 body에서 별도의 리듀서 함수로 이동시킬 수도 있습니다

그런 리스트럭처링 코드는 흥미로울 겁니다

또한 특히 useReducer를 고려해야 하는 경우는, 연관된 state 조각들로 구성된 state 관련 데이터를 다루는 경우이다. 

 

예를 들어 폼 인풋 state가 있는 경우처럼요

일반적으로 useReducer가 도움이 될 수 있습니다

더 복잡한 state 업데이트가 있는 경우나 이번 경우처럼 state 하나를 변경하는

여러 다른 액션이 있는 경우라면요. 

반드시 정해진 규칙인 건 아닙니다, 항상 그렇듯이 프로그래밍에서는 옳고 그름이 분명하지 않습니다

분명히 useReducer를 쓰는 것이 좋아보이는 경우도 useState로 처리할 수 있습니다

 

특히 useEffect와 같이요

 

그러나 useReducer를 사용하는 것이 가끔은 더 우아하고 간단하죠

반면에, 절대적으로 항상 useReducer를 사용해야 하는 건 아닙니다

예를 들어 두 개의 서로 다른 값을 전환하기만 하는 단순한 state가 있는 경우라면 useReducer는 과도할 수 있습니다. 

 

useReducer에 대해서는 이걸로 설명을 마칩니다

사실 useReducer를 사용하여

폼 state를 전체적으로 관리할 수도 있습니다

폼 유효성을 위해 useState를 사용하는 대신에요

이 두 리듀서와 폼 유효성을

전체 폼을 관리하는 하나의 큰 리듀서로

교체할 수도 있습니다

그러나 그것은 나중에 폼 모듈에서

설명드리겠습니다

지금은 그냥 useReducer가 무엇인지

언제 사용해야 하는지 이해하는 것이 중요합니다

 

 

반응형