>  기사  >  웹 프론트엔드  >  React가 mvvm 프레임워크가 아닌 이유

React가 mvvm 프레임워크가 아닌 이유

WBOY
WBOY원래의
2022-04-21 17:30:241582검색

React는 단방향 데이터 바인딩이고 mvvm의 가장 중요한 기능은 양방향 데이터 바인딩이기 때문에 mvvm 프레임워크는 뷰를 매핑하기 위해 vm 개체가 필요하지만 React에는 순수한 의미에서 vm 개체가 없습니다. 일부는 속성과 상태이므로 반응은 mvvm 프레임워크가 아닙니다.

React가 mvvm 프레임워크가 아닌 이유

이 튜토리얼의 운영 환경: Windows 10 시스템, 반응 버전 17.0.1, Dell G3 컴퓨터.

React가 mvvm 프레임워크가 아닌 이유

mvvm

먼저 mvvm이 무엇을 의미하는지 이해하세요. vm은 보기 모드를 의미합니다.

따라서 mvvm 프레임워크에는 뷰를 매핑하기 위한 vm 개체가 필요합니다.

즉, VM 개체의 속성이 변경되면 해당 뷰 부분이 그에 따라 업데이트됩니다. 더 고전적인 것은 Knockoutjs로, 핵심 개념은 뷰 모델, 컴퓨팅, 뷰 템플릿 등입니다. 예, 실제로는 그 그림자가 많이 있습니다.

react

그럼 React를 살펴보겠습니다. 순수한 의미에서는 VM 개체가 없으며 속성과 상태만 있습니다.

속성과 상태를 사용하여 뷰를 매핑하세요. 그렇다면 속성과 상태, VM의 차이점은 무엇입니까? 개인적으로 vm 객체는 외부에서 값을 전달받든, 내부적으로 정의하든 관계없이 동일하게 취급될 것이라고 생각합니다. 많은 경우 양방향 바인딩 메커니즘이 있습니다. 아마도 초기 flex는 훌륭했지만 이후의 mvvm 프레임워크에는 양방향 바인딩 개념이 있습니다. 반면 React는 속성 불변성과 단방향 데이터 흐름을 강조합니다. 내부 상태는 내부적으로 제어됩니다.

이러한 디자인은 디자인적으로는 더 복잡할 수 있지만 사용하는 측면에서는 더욱 확실하고 명확해집니다. React에 익숙하다면 적절한 구성 요소에 대한 적절한 상태를 관리하고 상태를 적절하게 계층화하면 애플리케이션 복잡성이 크게 줄어듭니다. 그러면 redux에는 컨테이너 컴포넌트와 순수 디스플레이 컴포넌트라는 매우 진보된 개념이 있습니다. 이 디자인 아이디어를 이해하면 복잡한 것을 소수의 컴포넌트로 집중시킬 수 있고, 대부분의 컴포넌트는 순수 디스플레이 컴포넌트가 되어 복잡성을 더욱 줄일 수 있습니다. 응용 프로그램의.

MVVM의 가장 중요한 기능 중 하나는 양방향 바인딩입니다.

React에는 이것이 없으며 단방향 데이터 바인딩입니다.

React는 단방향 데이터 흐름 및 상태 중심 보기를 위한 라이브러리입니다.

State --> View --> New State --> New View

추천 학습: "react 비디오 튜토리얼"

위 내용은 React가 mvvm 프레임워크가 아닌 이유의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.