博客
关于我
【React基础】基本环境搭建
阅读量:625 次
发布时间:2019-03-13

本文共 1039 字,大约阅读时间需要 3 分钟。

React的基本概念及开发环境搭建

React的基本概念

React是Facebook开发的一个JS库,最初设计用于应对传统MVC框架在复杂应用中的扩展性不足的问题。它通过 declarative 的方式简化了状态管理和数据绑定,为开发者提供了更高效的开发体验。

React的特点

  • 无模板:React不依赖于特定的模板语言,开发者可以自由选择使用哪种工具。
  • 非MVC框架:React不是传统的MVC框架,它更注重状态管理和数据流。
  • 响应式:React能够自动检测到数据变化并更新视图。
  • 轻量级:React的核心库非常小,能够在任何现代浏览器中运行。

React的原理

React的核心原理是通过虚拟DOM(Virtual DOM)实现高效的 DOM操作。它将真实的DOM结构抽象为一个JS对象,通过diff算法(一种高效的差异检测算法)逐步更新只发生变化的部分。

  • 虚拟DOM:确保只对界面上真正发生变化的部分进行实际的DOM操作。
  • diff算法:逐层次地比较节点,生成最小的变化集合。
  • 这种方式大大减少了重复的DOM操作,提升了性能。

    React的发布时间

    React于2013年发布,由Facebook开源。

    React开发环境的搭建

    引入工具

    • React核心文件react.js
    • React DOM文件react-dom.js,通常放在react.js之后引入。
    • Babel:用于转换 JSX 语法为浏览器可理解的 JavaScript。

    安装方法

    通过 npm 包管理器安装:

    npm i react --savenpm i react-dom --savenpm i @babel/standalone --save

    操作步骤

  • 初始化项目

    npm init -y

    这将生成一个 package.json 文件。

  • 引入文件到 HTML:将 react.jsreact-dom.jsbabel.js 引入到 HTML 文件中。

  • 配置DOM根节点

    这个节点是 React渲染的入口。

  • 使用 JSX 语法:在 script 标签中设置 type="text/babel",并编写 JSX 代码:

    const myDom = 

    hello, world

    ;ReactDOM.render(myDom, document.getElementById("demoReact"));
  • 效果展示

    在浏览器中,您将看到一个简单的 "hello, world" 标题。

    转载地址:http://cxjaz.baihongyu.com/

    你可能感兴趣的文章
    nnU-Net 终极指南
    查看>>
    No 'Access-Control-Allow-Origin' header is present on the requested resource.
    查看>>
    NO 157 去掉禅道访问地址中的zentao
    查看>>
    no available service ‘default‘ found, please make sure registry config corre seata
    查看>>
    no connection could be made because the target machine actively refused it.问题解决
    查看>>
    No Datastore Session bound to thread, and configuration does not allow creation of non-transactional
    查看>>
    No fallbackFactory instance of type class com.ruoyi---SpringCloud Alibaba_若依微服务框架改造---工作笔记005
    查看>>
    No Feign Client for loadBalancing defined. Did you forget to include spring-cloud-starter-loadbalanc
    查看>>
    No mapping found for HTTP request with URI [/...] in DispatcherServlet with name ...的解决方法
    查看>>
    No mapping found for HTTP request with URI [/logout.do] in DispatcherServlet with name 'springmvc'
    查看>>
    No module named 'crispy_forms'等使用pycharm开发
    查看>>
    No module named cv2
    查看>>
    No module named tensorboard.main在安装tensorboardX的时候遇到的问题
    查看>>
    No module named ‘MySQLdb‘错误解决No module named ‘MySQLdb‘错误解决
    查看>>
    No new migrations found. Your system is up-to-date.
    查看>>
    No qualifying bean of type XXX found for dependency XXX.
    查看>>
    No resource identifier found for attribute 'srcCompat' in package的解决办法
    查看>>
    no session found for current thread
    查看>>
    No toolchains found in the NDK toolchains folder for ABI with prefix: mips64el-linux-android
    查看>>
    NO.23 ZenTaoPHP目录结构
    查看>>