ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [CS] 1일차 상태관리를 왜 할까요?
    Frontend/FE CS 2024. 3. 4. 17:27

    기술면접 예상질문

    1일차 예상 질문

    상태관리를 왜 할까요? 그리고 평소 state 관리는 어떻게 하시나요?

    상태(state)란 무엇인가?


    React에서 상태관리를 어떻게 하느냐에 대한 답을 하기 전,
    상태(state)란 react에서 무엇인가?

    상태의 정의는 웹 어플리케이션을 render하는데 있어 영향을 미칠 수 있는 값 이다.

    react에서 페이지가 리렌더링 되는 가장 큰 예시 두가지는 props와 state이다.
    상태가 렌더링에 영향을 주기 위한 값으로 존재하기 위해서는 한 가지 요소가 필요하다.
    바로 동적인 값, 즉 변하는 값 이라는 조건이다.


    그게 State 값이다.

    간단하게 말해서 "변수"다.

    (주의* 변수는 변경되어도 화면이 바뀌지 않는다. 하지만 state는 변경되면 자동으로 화면이 바뀐다.)

     

    React에서 상태관리를 하는 이유


    그렇다면 React에서 이러한 상태를 관리해야 하는 이유는 뭘까?

    위에서 말했다시피 react는 컴포넌트가 변화 할 때 리렌더링 되는 데
    가상dom에서 변경된 부분만 캐치해서 실제 dom에 반영시켜준다.

    이러한 리렌더링을 통해서 우리가 원하는 값을 변경시켜 보여줄 수 있다.

    이 말을 보면 react자체가 상태관리를 해준다는거 아니야? 라고 볼 수 있는데 어느 부분에는 맞다.
    useState Hook만 봐도 state를 만들고 setState함수로 그 state를 관리해준다.

    하지만 만약에 여러 컴포넌트가 한개의 상태에 접근하고 싶다면 어떻게 해야하지? 하는 질문에서
    상태관리 라이브러리가 등장하기 시작했다.


    * props

    리액트는 대표적으로 단방향 데이터흐름 이라는 특징이 있다.
    이는 data를 전달 할 때 부모 컴포넌트에서 자식 컴포넌트로만 데이터 전달이 가능하다는 점이다.
    자식 컴포넌트 끼리 데이터 전달을 하고 싶다면 그들의 부모 컴포넌트에서 props를 다시 사용하여 연결해줘야한다.

    하지만 여러개의 컴포넌트를 타고 내려가다 보면 props의 지옥이 펼쳐지고
    이 props가 도대체 어디서부터 시작된건지 타고 올라가는 것이 쉽지 않아진다. (Props drilling)

    이 때문에 유지 보수 또한 어려워지게 된다.
    이 때문에 등장 한 것이 상태관리 라이브러리이다.

    그리고 Redux는 그중 대표적인 상태 관리 툴이다.


    3줄 요약

    상태관리를 왜 할까요? 그리고 평소 state 관리는 어떻게 하시나요?
    • state는 화면을 리렌더링 시키는 특징을 가지고 있다.
    • 여러 컴포넌트에서 한 상태에 접근을 하고 싶어지는 경우가 생긴다.
    • 편리한 상태관리와 유지보수를 위해서 상태관리가 필요하다.
    • + 평소 자주 쓰는 상태관리 라이브러리를 말해보자.
Designed by Tistory.