TIL.240201 기술면접

안은지·2024년 2월 1일
0


[Frontend] 기술면접 top30

해당 질문에 면접에서 답변할 수 있을 정도의 길이(3~4줄)로 답변을 달아보세요. 특히 면접 답변의 핵심은 두괄식(핵심을 먼저 말하는 것)입니다. 완성 후, 면접 하루 전날 족보처럼 훑어보고 면접을 보러갑시다!

📌Redux가 무엇인가요, 왜 Redux를 사용하시나요?

답변▶️ 리덕스(Redux)란 리액트에서 가장 사용률이 높은 상태관리 라이브러리입니다.
리액트 컴포넌트들의 상태 로직들이나 글로벌 상태 관리를 손쉽게 해줄 수 있습니다.

  • 액션은 액션 type과 전송할 데이터(payload)로 이루어진 객체 형태입니다.
    -Action Creator는 액션을 반환하는(만드는) 함수입니다. 이를 통해 액션을 dispatch 합니다.
  • dispatch는 액션값을 매개변수로, Reducer를 호출하는 것입니다.
  • 리듀서는 현재(이전)의 state와 받은 action에 따라 그 state를 변화시킨 다음 새로운 state를 반환합니다.
  • 리듀서에서는 상태를 변화시킬 때 반드시 이전 객체와는 다른 새로운 state 객체를 반환해야 합니다. 이렇게 되면 데이터(상태)가 변화하기 이전과 이후의 객체는 서로 다른 객체가 됩니다. 따라서 이전 상태 객체는 유지하였으므로 불변성을 지킨 것이며, 리덕스는 데이터가 변경되었다는 사실을 shallow equality checking 을 통해 상태가 변화했음을 알 수 있습니다.

리덕스를 사용하는 이유

리액트로 프로젝트를 진행한다면 App 컴포넌트를 거쳐서 필요한 값을 업데이트하고
리렌더링 하는 방식으로 프로젝트가 개발되는데 위의 구조는 부모 컴포넌트에서 모든 걸 관리하고 아래로 내려주는 것이기 때문에 직관적이고 관리하는 것이 편하다는 장점이 있습니다.

0개의 댓글