찌우닝 2023. 4. 5. 14:51

📌순수함수란 무엇인가요? 불변성과 사이드 이펙트와 연결하여설명해주세요.

  • 순수함수란?
    • 동일한 입력에는 항상 같은 값을 반환해야 하는 함수
    • side effect를 만들지 않으므로 외부 상태를 바꿀 수 없다.
  • 사이드 이펙트(side effect)란?
    • 의도하지 않게 외부 변수를 참조하거나 외부 변수를 변경하는 모든 종류의 코드를 의미.
    • 즉, 함수 외부의 값, 상태를 변경시키는 것
  • 순수 함수란 동일한 입력에 대해 언제나 동일한 결과를 리턴하는 함수이며, 사이드 이펙트를 일으키지 않는 함수이다. 변화를 예측할 수 없기 때문에 예기치 못한 오류를 발생시킬 가능성이 있다. 리액트에서는 단방향 데이터 흐름을 유지하기 위해 리액트 컴포넌트의 props를 직접 변경하지 않는 방법으로 순수 함수를 지향하고 있다.

💡참고

더보기

📌React의 state와 props에 대해서 설명해주세요.

  • props와 state는 리액트에서 다루는 데이터의 개념.
  • props는 받은 데이터 또는 생성된 데이터, 즉 데이터의 기원이 자기 자신이 아닌 것.
  • state는 자기 자신의 컴포넌트에서 만들어낸 데이터
  • State
    • 내부 상태. 즉, 한 컴포넌트의 상태
    • state가 생성된 컴포넌트 내에서만 변경이 가능
    • state는 반드시 객체 형태로 생성되거나 아니면 null 타입이여야만 한다. 
    • state 값을 변경하려면 setState 메서드를 사용해야한다.
  • Props
    • 외부로부터 전달 받은 상태
    • 부모 컴포넌트에서 자식 컴포넌트로 전달되는 데이터.
    • 전달 받은 데이터이므로 자식 컴포넌트에서 변경할 수 없다.

💡참고