나는 반응이 조금 새롭다. 나는 우리가이 일을 시작하는 가져와야 참조 React및 ReactDOM캔 사람이 차이를 설명. React documentation을 읽고 있지만 말하지 않습니다.
나는 반응이 조금 새롭다. 나는 우리가이 일을 시작하는 가져와야 참조 React및 ReactDOM캔 사람이 차이를 설명. React documentation을 읽고 있지만 말하지 않습니다.
답변:
React와 ReactDOM은 최근에 두 개의 다른 라이브러리로만 분리되었습니다. v0.14 이전에는 모든 ReactDOM 기능이 React의 일부였습니다. 약간 날짜가 지난 문서에는 React / ReactDOM 구별이 언급되어 있지 않으므로 혼란의 원인이 될 수 있습니다.
이름에서 알 수 있듯이 ReactDOM은 React와 DOM 사이의 접착제입니다. 종종 다음과 같은 하나의 마운트에만 사용합니다 ReactDOM.render(). ReactDOM의 또 다른 유용한 기능은 ReactDOM.findDOMNode()DOM 요소에 직접 액세스하는 데 사용할 수 있습니다. (React 앱에서는 드물게 사용해야하지만 필요할 수도 있습니다.) 앱이 "동형"인 경우 ReactDOM.renderToString()백엔드 코드 에서도 사용 됩니다.
다른 모든 것에는 React가 있습니다. React를 사용하여 라이프 사이클 후크 등의 요소 (예 : React 애플리케이션의 내장)를 정의하고 작성합니다.
React와 ReactDOM이 두 개의 라이브러리로 분리 된 이유는 React Native가 도착했기 때문입니다. React에는 웹 및 모바일 앱에서 사용되는 기능이 포함되어 있습니다. ReactDOM 기능은 웹 앱에서만 사용됩니다. [ 업데이트 : 추가 연구 결과, React Native에 대한 나의 무지가 드러나고 있음이 분명합니다. 웹과 모바일 모두에 공통적 인 React 패키지를 갖는 것은 현실보다 더 열망하는 것 같습니다. React Native는 현재 완전히 다른 패키지입니다.]
v0.14 릴리스를 알리는 블로그 게시물을 참조하십시오 : https://facebook.github.io/react/blog/2015/10/07/react-v0.14.html
는에서 v0.14 베타 버전 발표 반응 .
우리는 같은 패키지에 보면
react-native,react-art,react-canvas, 그리고react-three, 아름다움의 본질은 브라우저 또는 DOM과 아무 상관이 반작용 것이 분명되고있다.이를보다 명확하게하고 React가 렌더링 할 수있는 더 많은 환경을보다 쉽게 구축 할 수 있도록 기본 반응 패키지를 반응 및 반응 돔의 두 가지로 나눕니다.
기본적으로 React의 아이디어는 브라우저와 관련이 없으며 구성 요소 트리를 렌더링하기위한 많은 대상 중 하나 일뿐입니다. 개발자는 ReactDOM 패키지를 통해 중요하지 않은 코드를 React 패키지에서 제거하고보다 적절한 저장소로 옮길 수있었습니다.
react패키지 포함React.createElement,React.createClass와React.Component,React.PropTypes,React.Children, 및 요소와 구성 요소 클래스와 관련된 다른 도우미. 우리는 이것을 구성 요소를 작성하는 데 필요한 동형 또는 보편적 인 도우미라고 생각합니다.
react-dom패키지 포함ReactDOM.render,ReactDOM.unmountComponentAtNode및ReactDOM.findDOMNode, 그리고에react-dom/server우리가 서버 측 렌더링 지원을ReactDOMServer.renderToString하고ReactDOMServer.renderToStaticMarkup.
이 두 단락은 핵심 API 메소드의 시작 위치를 설명 v0.13합니다.
v0.14 이전 에는 주요 ReactJs 파일의 일부 였지만 어떤 경우에는 둘 다 필요하지 않으므로 분리하고 버전 0.14부터 시작합니다. 그중 하나만 필요한 경우 앱이 더 작아 질 수 있습니다. 그중 하나만 사용하십시오.
var React = require('react'); /* importing react */
var ReactDOM = require('react-dom'); /* importing react-dom */
var MyComponent = React.createClass({
render: function() {
return <div>Hello World</div>;
}
});
ReactDOM.render(<MyComponent />, node);
React 패키지에는 React.createElement, React.createClass, React.Component, React.PropTypes, React.Children이 포함됩니다.
React-dom 패키지에는 ReactDOM.render, ReactDOM.unmountComponentAtNode, ReactDOM.findDOMNode 및 ReactDOMServer.renderToString 및 ReactDOMServer.renderToStaticMarkup을 포함하는 react-dom / server가 포함됩니다.
ReactDOM 모듈은 DOM 고유의 메소드를 제공하는 반면, React는 다른 플랫폼 (예 : React Native)에서 React가 공유 할 수있는 핵심 도구를 제공합니다.
React react와 react-dom패키지 로 분리 된 것처럼 보이 므로 여기에 https 와 같이 DOM 이외의 경우에 사용하려는 프로젝트에 DOM 관련 부분을 사용할 필요가 없습니다 .
그들이 가져 오는 github.com/Flipboard/react-canvas
var React = require('react');
var ReactCanvas = require('react-canvas');
보시다시피 없이 react-dom.
는 react package를 보유하고 react source구성 요소, 상태, 소품하고 반응하는 모든 코드.
react-dom이름에서 알 수 있듯이 패키지입니다 glue between React and the DOM. 종종 하나의 단일 목적으로 만 사용합니다 mounting your application to the index.html file with ReactDOM.render().
왜 분리해야합니까?
는 reason반응 ReactDOM은 도착 때문이 라이브러리로 분할되었다 React Native (A react platform for mobile development).
ReactDOM- facebook.github.io/react/blog/2016/11/16/react-v15.4.0.html