react学习笔记一——入门

140 阅读2分钟

React框架采用的是MVC体系,Vue框架采用的是MVVM体系

MVC:model数据层+view视图层+controller控制层

  • 我们需要按照专业的语法去构建视图(页面):React中是基于jsx语法来构建视图的

  • 构建数据层:但凡在视图中,需要“动态”处理的(需要变化的,不论是样式还是内容),我们都要有对应的数据模型

  • 控制层:当我们在视图中(或者根据业务需求)进行某些操作的时候,都是去修改相关的数据,然后React框架会按照最新的数据,重新渲染视图,以此让用户看到最新的效果! 数据驱动视图的渲染

    与MVVM模型的区别就是MVC是“单向驱动”,MVVM模型是“双向驱动(v-model)

JSX构建视图的基础知识

  • JSX:就是把js and xml(html)把js和html标签混合在了一起。
  • 在HTML中嵌入“JS表达式”,需要基于“{} 胡子语法”,JS表达式:执行有结果的
  • 每一个构建的视图,只能有一个“根节点”
  • React给我们提供了一个特殊的节点(标签):React.Fragment 空文档标记标签, <></>,既保证了可以只有一个根节点,又不新增一个HTML层级结构!!
  • {}胡子语法中嵌入不同的值,所呈现出来的特点:
    + number/string:值是啥,就渲染出来啥
    + boolean/null/undefined/Symbol/BigInt:渲染的内容是空
    + 除数组对象外,其余对象一般都不支持在{}中进行渲染,但是也有特殊情况: JSX虚拟DOM对象
    + 给元素设置style行内样式,要求必须写成一个对象格式 {{fontSize:"16px"}}(属性名小驼峰写法)
    + 数组对象:把数组的每一项都分别拿出来渲染「并不是变为字符串渲染,中间没有逗号」
    + 函数对象:不支持在{}中渲染,但是可以作为函数组件,用<Component/>方式渲染!!
    + 设置样式类名:需要把class替换为className

import React from 'react'; //React语法核心

import ReactDOM from 'react-dom/client'; //构建HTML(WebApp)的核心

获取页面中#root的容器,作为“根”容器

const root=ReactDOM.createRoot(document.getElementById('root'));

//基于render方法渲染我们编写的视图,把渲染后的内容,全部插入到#root中进行渲染 root.render( .... );