Sym - 一个用 Java 实现的现代化社区平台 • 源码 • 注册

Pipe - 小而美的开源博客平台 • 体验 • 皮肤 Solo - 一个用 Java 实现的博客系统,为你或你的团队创建个博客吧! • 源码下载  Wide - 一个基于 Web 的 Go 语言 IDE • 教程试用

React 中的元素和组件有什么不同?

2019-02-25

回答

元素是用来展现 DOM 节点或组件的一个普通 JavaScript 对象。元素是一个纯的,不需要进行状态变化且创建成本较低的对象。

组件是一个方法或者类。组件可以有 state 并且可以将 props 作为输入然后返回一个元素的树形结构作为为输出(虽然他们可以表示一个通用的容器或包装器,但 DOM 的提交并不是必须的)。组件在生命周期的方法中可能会引起副作用(如 AJAX 请求,DOM 修改,第三方库的接口),而且他的创建可能会需要更过的消耗。

const Component = () => "Hello"
const componentElement = <Component />
const domNodeElement = <div /> 

加分回答

  • 元素是不可变的普通对象,用来描述你想要渲染的组件或 DOM 节点。
  • 组件可以是类或者函数,他将 props 作为输入然后返回一个元素的树形结构作为输出。

返回总目录

每天 30 秒


欢迎注册黑客派社区,开启你的博客之旅。让学习和分享成为一种习惯!

留下你的脚步