관리 메뉴

KorSA

Vue.js 에서 Function Props는 안티패턴? 본문

Development Experience/Web

Vue.js 에서 Function Props는 안티패턴?

Praiv. 2022. 10. 27. 13:50
320x100

 

 

부모 컴포넌트에서 자식 컴포넌트로 함수를 전달하고 싶어서 Function Props에 대해 찾아보았다.

 

https://maxkim-j.github.io/posts/function-props-vuejs/

 

김맥스 블로그 | function props는 Vue의 안티패턴일까?

React에서 상위 컴포넌트의 state를 하위 컴포넌트에서 업데이트하기 위해서는 해당 state를 갱신하는 함수를 상위 컴포넌트에서 함께 props로 넘겨야 합니다. 이 방식이 Vue에서도 가능할지 궁금했습

maxkim-j.github.io

 

이 글을 보면 Vue.js에서 Function Props를 사용하는 게 안티 패턴인지에 대해 의견이 분분한 듯 하다.

 

간략히 요약해보면,

React의 경우 데이터 전달이 단방향(부모->자식)이라 역방향(자식->부모)으로 데이터를 전송하려면

Function Props를 사용할 수밖에 없다.

Vue의 경우 emit이라는 기능이 있어 양방향(부모<->자식) 데이터 전달이 가능하다.

자식이 부모에게 데이터를 전달하기 위해 굳이 Function Props를 사용할 필요는 없다는 이야기이다.

 

흠..

개인적인 의견으론 그냥 emit을 사용하는 게 코드의 의도를 드러내는 면에서나 부모-자식 간 로직 분리를 위해서나

더 깔끔하지 않나 싶다.

728x90
728x90
Comments