美文网首页
React 进阶之路 二 ( 元素渲染 )

React 进阶之路 二 ( 元素渲染 )

作者: 酷酷的凯先生 | 来源:发表于2020-11-22 16:11 被阅读0次

# 元素渲染

import React from 'react';
import ReactDOM from 'react-dom';
import './index.css';
import App from './App';
import reportWebVitals from './reportWebVitals';

// 这里就是渲染一个 组件
ReactDOM.render(
  <React.StrictMode>
    <App />
  </React.StrictMode>,
  document.getElementById('root')
);

// If you want to start measuring performance in your app, pass a function
// to log results (for example: reportWebVitals(console.log))
// or send to an analytics endpoint. Learn more: https://bit.ly/CRA-vitals
reportWebVitals();

如上:

  1. 渲染是调用一个函数:ReactDOM.render。函数接收两个参数:渲染内容 和 根节点
  2. 有且只能有一个根本节点
  3. JSX 语法,所有内容写在 <React.StrictMode> 标签内,方便知道些的组件内容
  4. 再调用组件时如 <App /> 要首字母大写

为了方便理解,看下下面代码:

ReactDOM.render(
  <React.StrictMode>
    <h1> hello word </h1>
    <h2> 我是第二个标签 </h2>
  </React.StrictMode>,
  document.getElementById('root')
);

相比 Vue:<React.StrictMode> 标签,相当于 <template> 标签,在标签内可以写我们想要的内容,且只能有个 <React.StrictMode> 标签 ( Vue 中也只能有一个 <template> 标签 );
ReactDOM.render 函数 相比 Vue 相当于 new Vue 创建一个实例;

# 定义一个组件

React 中定义组件不同于 Vue 的 .vue 文件,React 中都是函数式组件,举个栗子:

// 定义一个组件 props 接收参数
function Demo(props) {
    return <React.StrictMode>
        <h1> Hello world</h1>   
        <h2> {props.data} </h2>
    </React.StrictMode>
}

// 调用组件 并 传参
ReactDOM.render(
  <React.StrictMode>
    <Demo data="你好" />
  </React.StrictMode>,
  document.getElementById('root')
);

如上就完成了 定义组件 并 调用组件 和 传值

# 属性绑定

//假设我们已经定义了 .bgRed 样式类
let bgColor = '.bgRed'; 
let imgUrl= 'http:xxx.xxx.xxx/img/xxx/png';
ReactDOM.render(
   <React.StrictMode>
    <div class={bgColor}>
      <img src={imgUrl} />
    </div>
  <React.StrictMode>,
  document.getElementById('root')
);

# 注释

React 中注释比较特殊,需要放在单花括号 { }

// 调用组件 并 传参
ReactDOM.render(
  <React.StrictMode>
    <h1> Hello world</h1>   
    {/* 这里写注释内容 */}
    <h2> {props.data} </h2>
  </React.StrictMode>,
  document.getElementById('root')
);

如上, JSX 语法有以下几个特点:

  1. 由 HTML 元素构成
  2. 如需插入变量用单花括号 { }
  3. 单花括号 { } 可用使用表达式,表达式可以是 JSX 对象
  4. 属性 和 HTML内容 一样都是用 单花括号 { } 插入内容

相关文章

  • React 进阶之路 二 ( 元素渲染 )

    # 元素渲染 如上: 渲染是调用一个函数:ReactDOM.render。函数接收两个参数:渲染内容 和 根节点 ...

  • React手记

    React手记 1、 2、React元素渲染 React元素渲染是通过方法ReactDOM.render(elem...

  • React 元素渲染

    React 元素渲染官方传送门 元素渲染 元素是构成 React 应用的最小砖块。 将一个元素渲染为 DOM 想要...

  • 第七节:React列表渲染与数据收集

    1. 列表渲染 1.1 列表渲染说明: 列表渲染 先将列表数据转为React元素列表, 然后在渲染 React会将...

  • 第七节:React列表渲染与数据收集

    1. 列表渲染 1.1 列表渲染说明: 列表渲染 先将列表数据转为React元素列表, 然后在渲染 React会将...

  • React 进阶目录

    React进阶(附录一)构建工具改造过程记录 React进阶(一)React进阶更新计划浅谈React进阶(二)为...

  • 二. React的元素渲染

    1.React 元素是不可突变 的. 一旦你创建了一个元素, 就不能再修改其子元素或任何属性。一个元素就像电影里的...

  • React 元素渲染笔记二

    可以将要展示的部分封装起来,以下实例用一个函数来表示: function Clock(props) { retu...

  • 渲染元素

    渲染元素 上面的代码将element元素渲染到root节点中。 更新已渲染元素 React元素时不可变的。一旦创建...

  • React使用

    元素渲染 根节点渲染 import ReactDOM from "react-dom"; const ...

网友评论

      本文标题:React 进阶之路 二 ( 元素渲染 )

      本文链接:https://www.haomeiwen.com/subject/dimebktx.html