• 카테고리

    질문 & 답변
  • 세부 분야

    취업 · 이직

  • 해결 여부

    미해결

React가 MVC 패턴의 예시인 이유가 궁금합니다

22.10.25 21:22 작성 조회수 2.6k

1

안녕하세요

부제 MVC MVP MVVM 패턴 강의를 보던 중에 의문이 들어서 글을 남깁니다.

제가 알기로는 리액트는 초기 개발 철학에서 flux 패턴을 따르며 이는 단방향 데이터 바인딩 따릅니다. 리액트 초기에 가장 많이 사용되는 redux 철학 역시 이러한 단방향 데이터 바인딩을 잘 보여줍니다(action -> dispatch -> store -> view)

그런데 MVC는

  1. 뷰가 변경되면 컨트롤러에 반영되고 이를 모델에 반영하거나

  2. 모델이 변경되면 컨트롤러에 반영되고 이를 뷰에 반영하는

양방향 데이터 바인딩을 기본으로 합니다.

 

React가 라이브러리로 여겨져 프로그래머가 MVC로 구현하겠다고 (실제로 이런 코드를 본적이 없지만) 하여 React가 MVC 패턴이 되는 것은 아닌것 같습니다.

선생님이 생각하시는 React가 MVC 패턴이 되는 구체적인 이유가 궁금합니다.

 

답변 2

·

답변을 작성해보세요.

1

음 아닙니다. MVC에서도 단방향 데이터바인딩을 기본으로 할 수 있습니다. 무조건 양방향 바인딩이 아닙니다.

 

제가 알기로는 리액트는 초기 개발 철학에서 flux 패턴을 따르며 이는 단방향 데이터 바인딩 따릅니다.

그렇지 않습니다.

초기에는 MVC를 쓰다 MVC의 한계로 인해 flux패턴을 도입 > redux가 도래했습니다.

https://facebook.github.io/flux/docs/in-depth-overview/

 

감사합니다.

0

장상현님의 프로필

장상현

질문자

2022.10.26

제가 잘못 알고 있던 부분을 알려주셔거 감사드립니다. 그러나 제 질문은 "선생님께서 React가 MVC 패턴이라고 생각하는 이유가 궁금합니다." 입니다.

선생님께서 주신 링크에는 MVC 패턴으로 인한 어려움 그리고 flux 패턴 정도인것 같습니다. 제 기억에 페이스북 초창기에 php(페이스북에서 만든 자체 php도 있지만) MVC 패턴으로 인한 버그 그리고 이를 해결하기 위한 방법 정도로 글을 이해했습니다. (예시가 유명한 "읽지 않은 메시지 개수 버그" 페이스북 일화)

리액트 공식 블로그에서도 [React isn't an MVC framework]라고 하고 있습니다. (2013년 6월)

https://reactjs.org/blog/2013/06/05/why-react.html

리액트 초기 개발부터 state와 props라는 개념이 있었고(2013년), 제가 리액트를 사용을 시작한 2017년도부터 리액트를 시작해서 그런지 초기 MVC 패턴으로 구현한 리액트가 상상이 안되는데 혹시 MVC 패턴으로 React를 사용하면 어떻게 사용하게 되는지 코드로 보여주실 수 있나요?

또 선생님 말씀처럼 초기에 React가 MVC 패턴을 따른다고 해도 지금 현재 React가 MVC 패턴의 예시라고 하는 것이 적절하다고 생각하시는지 궁금합니다.

 

 

안녕하세요 상현님ㅎㅎ

MVC패턴을 리액트로 구현할 수 있는 것이지 MVC패턴 = 리액트가 아니네요.

틀린 부분을 알려주셔서 정말 진심으로 감사의 말씀을 드립니다. 17년부터 코딩을 해오셨다면 어느정도의 실력은 있으신 것같아 필요할 지는 모르겠지만 새소식 - 공지사항 보시면 폼이 있는데 폼 적어주시면 포트폴리오 첨삭 해드리겠습니다. (원래는 수강평 작성해야 가능한데 상현님은 작성 안하셔도 해드릴게요.)

무튼 정말 감사드리구요.

해당 사안은 MVC 패턴의 예로 Spring으로 변경해서 빠른 시일 내에 강의 업데이트 해드릴 예정입니다.

감사합니다.

장상현님의 프로필

장상현

질문자

2022.10.26

저 스스로도 아직 많이 부족하다고 생각하고 있고

지금 취준 중인데 큰돌님께 첨삭해주신다면 정말 큰 도움이 될거 같습니다.

추후에 강의를 다 듣고 수강평 작성해서 요청드리도록 하겠습니다.

감사합니다 :)