면접질문

김예린·2024년 3월 28일
0
  1. 상태관리를 왜 할까요? 그리고 평소 state 관리는 어떻게 하시나요?

state란 무엇인가 ? - state란 컴포넌트 내부에서 바뀔 수 있는 값을 의미함
만약 name이라는 정보가 있는데 이 값이 바뀌어야 한다면 이 name을 state로 생성해야함.
props란 ? - 부모 컴포넌트가 자식 컴포넌트에게 물려준 데이터. 컴포넌트 간의 정보 교류 방법
props는 반드시 위에서 아래 방향으로 흐른다.
LifeCycle - 리액트 생명주기란 컴포넌트 중심 라이브러리의 집합체. 모든 컴포넌트에는 각각의 생명주기가 존재하고 각 생명주기에 맞는 메서드들이 있다.
redux - 어떤 컴포넌트에서 생성한 state를 다른 컴포넌트를 보낼때 우리 props로 전달했는데 불편한 점이 있어서 redux가 나옴.
전역상태로 관리해서 프롭스로 내려줄 필요없이 전역으로 관리함. (중앙 state 관리소)
어떤 컴포넌트에서 state가 필요하다면 컴포넌트가 어디에 위치하고 있든 상관없이 state불러와서 사용할 수 있음. 리덕스란 중앙 state 관리소를 사용할 수 있게 도와주는 패키지
react-query - Query: 어떤 데이터에 대한 요청을 의미함. mutation: 어떤 데이터를 변경하는 것
Query Invalidation : 무효화 시킨다는 의미. 기존에 가져온 query는 서버 데이터이기 때문에 언제든지 변경이 있기 때문에 최신 상태를 계속 갱신해줘야함. 기존의 쿼리를 무효화 시키고 최신화 시켜야 함.
그게 Query Invalidation 임.

- 답변
    
    `state` `props` `LifeCycle` `dom` `redux` `react-query`
    
  1. Redux가 무엇인가요, 왜 Redux를 사용하시나요?
    중앙 state 관리소
    - 답변

        `상태관리 Library`
        
        `SPA` `Component` 
        
  2. Redux 말고 다른 전역 상태관리 아는 것 하나와 차이점을 말해주세요
    Recoil:
    비동기 상태관리: Recoil은 비동기 상태를 처리하는 데 용이합니다. 비동기 작업 결과를 상태로 관리하고, 이를 여러 컴포넌트에서 공유할 수 있습니다.
    경량화: Redux에 비해 경량화되어 있어서, 별도의 추가 라이브러리나 복잡한 설정 없이 사용할 수 있습니다.
    Zustand:
    타입스크립트 지원: Zustand는 타입스크립트를 지원하며, 타입 안정성을 보장합니다. 이는 개발자가 코드를 작성할 때 타입 관련 오류를 줄여줍니다.
    간단한 구조: Zustand는 간단하고 직관적인 API를 제공합니다. 이는 상태를 정의하고 관리하기 쉽게 만들어줍니다.

    - 답변
        
        `Recoil` : `비동기 상태관리` `경량화`
        
        `Zustand` : `타입스크립트 지원` `간단한 구조`
profile
아자아자

0개의 댓글