컴포넌트에서 함수를 정의할때, 컴포넌트 밖에 함수를 정의해야할까, 안에 정의해야할까

calm·2023년 5월 9일
0

결론

  • 정해진 기준이 없습니다.
    - "일반적으로' 컴포넌트 안에 정의하는 것이 좋음
    - 만약 해당 함수가 다른 컴포넌트에서도 사용되어야 하거나, 컴포넌트 밖에서도 사용해야 한다면 컴포넌트 밖에 함수를 정의하는 것이 적절함

이유는,

  • 재사용성
    - 컴포넌트 안에 함수를 정의하면 해당 컴포넌트에서만 사용할 수 있기 때문에 다른 컴포넌트에서 재사용이 불가능합니다.하지만 컴포넌트 밖에 함수를 정의하면 다른 컴포넌트에서도 사용할 수 있기 때문에 재사용성이 높아집니다.


  • 캡슐화
    - 컴포넌트 안에 함수를 정의하면 해당 함수가 컴포넌트 안에서만 접근 가능하기 때문에 다른 컴포넌트나 외부에서 접근할 수 없습니다. 이는 코드의 캡슐화에 도움을 줍니다.


  • 성능
컴포넌트 안에 함수를 정의하면 해당 함수는 컴포넌트가 렌더링될 때마다 다시 생성됩니다. 
하지만 컴포넌트 밖에 함수를 정의하면 컴포넌트가 렌더링될 때마다 함수가 다시 생성되지 않으므로 성능상 이점이 있습니다.
profile
공부한 내용을 기록합니다

0개의 댓글