我对反应有点陌生。我看到我们必须导入两个东西才能开始,React和ReactDOM,有人能解释一下区别吗?我正在阅读React文档,但它没有说。
当前回答
React: React是一个javascript库,旨在构建更好的用户界面。
React-DOM: React-DOM是React的一个免费库,它将React粘合到浏览器DOM上
我们正在使用React,每当我们使用render()或findDOMNode()等方法时,我们都在使用React- dom。
当我们看到React -native、React -art、React -canvas和React -three这样的包时,很明显,React的美丽和本质与浏览器或DOM无关。 为了更清楚地说明这一点,也为了更容易地构建更多React可以渲染的环境,他们将主要的React包分为两个:React和React -dom。
其他回答
React: React是一个javascript库,旨在构建更好的用户界面。
React-DOM: React-DOM是React的一个免费库,它将React粘合到浏览器DOM上
我们正在使用React,每当我们使用render()或findDOMNode()等方法时,我们都在使用React- dom。
当我们看到React -native、React -art、React -canvas和React -three这样的包时,很明显,React的美丽和本质与浏览器或DOM无关。 为了更清楚地说明这一点,也为了更容易地构建更多React可以渲染的环境,他们将主要的React包分为两个:React和React -dom。
react包保存了组件、状态、道具和所有react代码的react源。
React - DOM包顾名思义是React和DOM之间的粘合剂。通常,您只会将它用于一件事:使用ReactDOM.render()将应用程序挂载到index.html文件。
为什么要把他们分开?
React和React dom被分成两个库的原因是React Native(一个用于移动开发的React平台)的到来。
在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,反应。createClass,反应。组件,反应。proptype,反应。孩子们
React-dom包包含:渲染,ReactDOM。unmountComponentAtNode ReactDOM。findDOMNode和react-dom/server,包括:ReactDOMServer。renderToString和ReactDOMServer.renderToStaticMarkup。
ReactDOM模块公开了dom特定的方法,而React拥有核心工具,旨在由React在不同平台上共享(例如React Native)。
http://facebook.github.io/react/docs/tutorial.html
react包保存了组件、状态、道具和所有react代码的react源。
React - DOM包顾名思义是React和DOM之间的粘合剂。通常,您只会将它用于一件事:使用ReactDOM.render()将应用程序挂载到index.html文件。
推荐文章
- TypeScript错误:属性“X”在类型“Window”上不存在
- Next.js React应用中没有定义Window
- 如何强制一个功能React组件渲染?
- 反应-正确的方式传递表单元素的状态兄弟/父元素?
- 什么是虚拟DOM?
- React:“this”在组件函数中未定义
- 这个“react-scripts eject”命令是做什么的?
- js:将一个组件包装成另一个组件
- 在typescript中一直使用。tsx而不是。ts有什么缺点吗?
- TypeScript React应用程序中的PropTypes
- {this.props是什么?孩子们,什么时候应该使用它?
- 反应。useState不会从props中重新加载状态
- 在Link react-router中传递道具
- React不会加载本地图像
- Axios获取url工作,但第二个参数作为对象,它不