티스토리 뷰

1. useEffect의 실행 순서를 설명해주세요.

  • 컴포넌트가 렌더링되고 화면에 나타난다.
  • useEffect 함수가 호출된다.
  • 만약 useEffect의 두 번째 매개변수로 의존성 배열이 제공되었다면, 이 배열에 지정된 의존성들이 변경될 때마다 useEffect가 재실행된다.
  • 컴포넌트가 언마운트되기 전에 필요한 정리(clean-up) 작업이 실행된다.

 

 


2. 자식 컴포넌트에서 props의 변경 가능 여부와 이유를 설명해주세요.

자식 컴포넌트에서 props는 읽기 전용이다. 이는 자식 컴포넌트가 부모로부터 전달된 props를 변경할 수 없다는 것을 의미한다. 이는 React의 단방향 데이터 흐름을 유지하고 부모와 자식 간의 결합을 느슨하게 유지하는 데 도움이 된다.

 

만약 자식 컴포넌트에서 props를 변경해야 한다면 해당 props를 변경하는 콜백 함수를 부모로부터 전달받아 사용하거나 자신의 상태를 사용하여 관리해야 한다.

 

 

 


3. Props drilling 개념과 피하는 방법에 대해 설명해주세요.

Props drilling은 React 애플리케이션에서 여러 계층의 컴포넌트를 통해 props를 전달하는 것을 의미한다.

 

이는 깊은 컴포넌트 구조에서 props를 전달하기 위해 많은 중간 컴포넌트를 거쳐야 한다는 문제를 발생시킬 수 있다. Props drilling을 피하는 방법으로는 상태 관리 라이브러리(예: Redux, MobX)를 사용하거나 Context API를 활용하여 전역 상태를 관리하는 것이 있다. 이를 통해 중간 컴포넌트를 거치지 않고도 필요한 데이터를 직접 접근할 수 있다.

 

 

 


4. 리렌더링 되는 경우를 설명해주세요.

  • State 변경: setState 함수를 사용하여 상태가 변경될 때 해당 컴포넌트와 하위 컴포넌트가 리렌더링된다.
  • Props 변경: 부모 컴포넌트로부터 전달된 props가 변경될 때 자식 컴포넌트가 리렌더링된다.
  • Context 변경: Context API를 사용하여 전역 상태가 변경될 때 해당 상태를 사용하는 컴포넌트가 리렌더링된다.