博客
关于我
【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/

    你可能感兴趣的文章
    none 和 host 网络的适用场景 - 每天5分钟玩转 Docker 容器技术(31)
    查看>>
    None还可以是函数定义可选参数的一个默认值,设置成默认值时实参在调用该函数时可以不输入与None绑定的元素...
    查看>>
    NoNodeAvailableException None of the configured nodes are available异常
    查看>>
    Vue.js 学习总结(16)—— 为什么 :deep、/deep/、>>> 样式能穿透到子组件
    查看>>
    nopcommerce商城系统--文档整理
    查看>>
    NOPI读取Excel
    查看>>
    NoSQL&MongoDB
    查看>>
    NoSQL介绍
    查看>>
    NoSQL数据库概述
    查看>>
    Notadd —— 基于 nest.js 的微服务开发框架
    查看>>
    NOTE:rfc5766-turn-server
    查看>>
    Notepad ++ 安装与配置教程(非常详细)从零基础入门到精通,看完这一篇就够了
    查看>>
    Notepad++在线和离线安装JSON格式化插件
    查看>>
    notepad++最详情汇总
    查看>>
    notepad++正则表达式替换字符串详解
    查看>>
    notepad如何自动对齐_notepad++怎么自动排版
    查看>>
    Notes on Paul Irish's "Things I learned from the jQuery source" casts
    查看>>
    Notification 使用详解(很全
    查看>>
    NotImplementedError: Cannot copy out of meta tensor; no data! Please use torch.nn.Module.to_empty()
    查看>>
    NotImplementedError: Could not run torchvision::nms
    查看>>