前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >React篇(019)-元素和组件有什么区别?

React篇(019)-元素和组件有什么区别?

作者头像
齐丶先丶森
发布2022-05-12 20:41:38
4180
发布2022-05-12 20:41:38
举报
文章被收录于专栏:前端面试秘籍

答案:

一个 *Element* 是一个简单的对象,它描述了你希望在屏幕上以 DOM 节点或其他组件的形式呈现的内容。*Elements* 在它们的属性中可以包含其他 *Elements*。创建一个 React 元素是很轻量的。一旦元素被创建后,它将不会被修改。 React Element 的对象表示如下:

代码语言:javascript
复制
const element = React.createElement(
  'div',
  {id: 'login-btn'},
  'Login'
)

上面的 `React.createElement()` 函数会返回一个对象。

代码语言:javascript
复制
{
  type: 'div',
  props: {
    children: 'Login',
    id: 'login-btn'
  }
}

最后使用 `ReactDOM.render()` 方法渲染到 DOM:

代码语言:javascript
复制
<div id='login-btn'>Login</div>

而一个组件可以用多种不同方式声明。它可以是一个含有 `render()` 方法的类。或者,在简单的情况中,它可以定义为函数。无论哪种情况,它都将 props 作为输入,并返回一个 JSX 树作为输出:

代码语言:javascript
复制
 const Button = ({ onLogin }) =>
      <div id={'login-btn'} onClick={onLogin} />

然后 JSX 被转换成 `React.createElement()` 函数:

代码语言:javascript
复制
const Button = ({ onLogin }) => React.createElement(
  'div',
  { id: 'login-btn', onClick: onLogin },
  'Login'
)
本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2021-05-14,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 前端面试秘籍 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档