1.2 创建 react 元素

React 元素

React 元素(React element),它是 React 中最小的基本单位。React 元素其实就是一个简单的 JavaScript 对象(俗称:虚拟DOM),一个 React 元素对应界面上的一部分 DOM,描述了这部分 DOM 的结构及渲染效果。

React 元素不是真实的 DOM 元素,所以没办法直接调用 DOM 上的原生 API。

渲染过程:React 元素 描述 虚拟DOM ,再根据 虚拟DOM 渲染出真实的DOM。

  • 虚拟DOM:就是用 js 对象结构模拟出 html 中的 dom 结构,批量的增删改查先直接操作 js 对象,最后更新到真正的 DOM 树上。因为直接操作 js 对象的速度要比操作 DOM 的那些 api 要快。
  • React 元素就是 js 对象,它来告诉 React,你希望哪些东西显示再页面中。

总的来说:

元素就是用来描述 DOM 节点或者 React 组件的纯对象。元素可以在自己的属性中包含其它元素。创建一个元素的成本很低,一旦元素被创建之后,就不再发生变化。

例如:我们使用 JSX 语法创建一个 React 元素 element

const element = <h1 className='greeting'>Hello, world</h1>;

在编译过程中,JSX 会被编译成对 React.createElement() 的调用,上面的例子编译后的结果为:

const element = React.createElement(
    'h1',
    {className: 'greeting'},
    'Hello, world!'
);

最终,element 的值会被编译为类似下面的 js 对象

const element = {
    type: 'h1',
    props: {
        className: 'greeting',
        children: 'Hello, world'
    },
    _context: Object,
    _owner: null,
    key: null,  
    ref: null, 
}

创建 React 元素的方法

1.使用 JSX 语法
const element = <h1>Hello, world</h1>;
2.React.createElement(type,props,children)

语法参数说明

type:表示元素的类型,比如:h1、div、p等等。可以是

  1. 字符串(如div、p、h1…)
  2. 组件(自定义组件:构造函数创建的组件或class创建的组件;react 原生组件:React.Fragment等)

props:表示该元素上的属性,使用 JavaScript 对象的方式表示

children:表示该元素内部的内容,可以是文字,也可以继续嵌套另一个React.createElement(type,props,children)

其中 children 可以是一个 React.createElement 列表,也可以写成多个参数:

  <script type="text/babel">
    const child1 = React.createElement("li",null,"one");
    const child2 = React.createElement("li",null,"two");
    const content = React.createElement("ul",{className:"testStyle"},[child1,child2]);

    ReactDOM.render(
        content,
        document.getElementById("example")
    );
    //或者
    const child1 = React.createElement("li",null,"one");
    const child2 = React.createElement("li",null,"two");
    const content = React.createElement("ul",{className:"testStyle"},child1,child2);

    ReactDOM.render(
        content,
        document.getElementById("example")
    ); 
  </script>

React.createElement 返回实例对象属性

const div = React.createElement('div', { id: 'box'}, 'test');
console.log(div)
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
创建React脚手架是指使用一种工具或命令来快速搭建一个React项目的基本结构。其中,npx create-react-app 是一个常用的命令,用于创建React脚手架。Create React App 是React官方推荐的脚手架工具,它提供了一套现代化的开发环境和一些默认配置,使得我们能够快速开始一个React项目的开发。为了方便中文用户,Create React App官方提供了中文网站:https://create-react-app.bootcss.com/,你可以在这个网站上查找相关文档和教程,了解更多关于如何使用Create React App创建React脚手架的信息。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* [React--》超详细教程——React脚手架的搭建与使用](https://blog.csdn.net/qq_53123067/article/details/128696338)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] - *3* [react快速开始(二)-使用脚手架Create React App创建react应用](https://blog.csdn.net/inthat/article/details/121394510)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值