2013-12-23 4 views
2

RactiveJS는 JSX와 호환됩니까?RactiveJS 및 JSX

마크 업의 일부가 호환되지 않는다고 생각합니다. 강력한 타이핑과 자바 스크립트 소스에서 템플릿을 깨끗하게 작성할 수 있다는 생각을 좋아합니다. 아마도 이것은 나쁜 디자인으로 간주 될 수 있습니까?

+1

JavaScript로 컴파일되는 언어 인 [JSX] (http://jsx.github.io/) 또는 [JSX] (http://facebook.github.io/react/docs/jsx- in-depth.html), React.js 용 프리 프로세서? 하나는 강력한 타이핑에 관한 것이고 다른 하나는 js 소스 코드에서 UI 구성 요소 마크 업 작성과 관련이 있습니다. –

+0

JSX 소스 코드에서 템플릿을 사용할 수 있도록 React.js를 미리 처리하는 JSX가 명확히 설명됩니다. – Joel

+1

이 블로그 게시물 읽기 ... http://blog.ractivejs.org/posts/whats-the-difference-between-react-and-ractive/ –

답변

14

아니요. React.js와 Ractive.js는 많은 유사점을 가지고 있지만 (예 : 둘 다 가벼운 가상 DOM을 메모리에 구성하여 작동합니다) References는 템플릿 아이디어를 완전히 거부합니다.

JSX 은 템플릿 언어가이 아니며 단지 하나처럼 보입니다. ,

React.DOM.h1(null, 'Hello world!'); 

JSX이 기능을 설명합니다 즉 :이 같은이있는 경우에는

<h1>Hello world!</h1> 

... 그것이 JSX의 사전 프로세서에 의해이 같은 변환됩니다 ..., 반작용 템플릿이 아닙니다. 대조적으로, Ractive에서는 콧수염 템플릿이 JSON으로 전송 될 수있는 트리 구조로 파싱됩니다.

이 예제의 경우 원래 문자열이 어떤 과정을 거치 든 상관 없습니다. 어딘가에 브라우저에서 <h1> 요소로 끝날 것입니다. 그러나 this.statethis.props을 참조하는 임의의 JavaScript를 도입하기 시작하면 더 어려워집니다. React에서는 구성 요소의 기본 구조를 변경할 수 있지만 Ractive에서는 의미가 없습니다.

Ractive는 앞으로 Mustache 이외의 템플릿 언어를 지원할 수 있지만 JSX는 다른 접근 방식과 디자인 목표를 갖고 있으므로 그 중 하나가 아닐 가능성이 있습니다.

그러나 여기에는 하나의 파일에 구성 요소를 완전히 설명 할 수있는 관련 문제가 있습니다. 거기에 어떤 ongoing work 일이 있습니다 - 가장 가능성있는 시나리오는 .js 파일에 템플릿을 작성하는 대신 HTML 파일에서 구성 요소를 설명 할 수 있다는 것입니다 (HTML 내에서 JavaScript와 CSS를 사용할 수 있기 때문에).