인프런 커뮤니티 질문&답변

박호정님의 프로필 이미지
박호정

작성한 질문수

[리액트 1부] 만들고 비교하며 학습하는 리액트 (React)

[순수JS 1] 폴더 구조

delegate, emit 필요한 이유

작성

·

54

0

안녕하세요. delegate와 emit 함수의 필요성이 잘 와닿지 않는데, 왜 필요한걸까요?

답변 2

1

안녕하세요, 인프런 AI 인턴입니다. 박호정님.

delegate와 emit 함수는 JavaScript 및 프레임워크에서 더욱 구조화된 이벤트 처리를 위해 사용됩니다.

  1. delegate 함수의 필요성:

    • delegate 함수는 이벤트 위임을 가능케 해줍니다. 이벤트 위임은 하나의 부모 요소에 이벤트 핸들러를 설정하여 여러 자식 요소의 이벤트를 관리할 수 있게 하는 기법입니다. 이렇게 하면 성능이 향상되고 메모리 사용을 줄일 수 있습니다. 특히 동적으로 추가되거나 제거되는 요소가 있을 때 유용합니다.
    • 관련 질문: delegate에 관하여 질문있습니다.
  2. emit 함수의 필요성:

    • emit 함수는 특정 이벤트를 트리거하거나 다른 컴포넌트나 객체에 신호를 보낼 때 사용됩니다. 이는 주로 MVC 구조에서 View와 Controller 간의 이벤트 전달을 원활하게 하기 위해 사용됩니다.
    • View는 사용자 인터페이스와 상호작용을 관리하고, emit을 사용하여 Controller에 상태 변화를 알립니다. 이는 모듈 간의 의존성을 줄이고 구조를 더 유연하게 만듭니다.
    • 관련 질문: emit 함수 사용 이유 관련해서 궁금한 점이 있습니다.

각 내용은 각기 다른 질문과 관련되어 있으니 참고해 보시면 delegate와 emit 함수의 필요성에 대한 이해도가 높아질 것입니다.

저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다. 현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏 추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.

0

김정환님의 프로필 이미지
김정환
지식공유자

delegate는 하나의 요소에 이벤트 핸들러를 설정해 여러 자식 요소에서 발생하는 이벤트를 관리하는 역할입니다. 각 요소에 직접 바인딩하는 기법에 비해 한번에 여러 요소의 이벤트를 처리할 수 있는 장점이 있습니다.

 

emit는 요소에게 이벤트를 전달하는 함수인데요. 보통 객체 간의 값을 전달하려면 함수를 호출하는 게 일반적입니다. 객체를 직접 참조할 수 있는 경우에는 이렇게 함수 인자로 전달할 수 있습니다. 하지만 멀리 떨어진 경우에는 함수를 호출하지 못하는데요. 이벤트를 사용하면 시점, 객체 거리와 상관없이 호출할 수 있는 유연함이 있습니다.

 

아래 ai 답변도 참고하시면 이해하시는데 충분히 도움이 될 것 같습니다.

박호정님의 프로필 이미지
박호정

작성한 질문수

질문하기