React第一章(基本介绍)

React入门

什么是react?

https://message163.github.io/react-docs/

React 是一个用于构建用户界面的 JavaScript 库。它由 Facebook(现Meta) 开发和维护,并在2013年开源。React 的设计初衷是帮助开发者构建复杂的用户界面,同时保持代码的可维护性和可扩展性。

react的特点

  1. 组件化:React 通过将 UI 分解为独立的、可重用的组件,使得代码更易于管理和维护。每个组件只关注于自身的逻辑和视图。

  2. 声明式编程:React 采用声明式的编程风格,开发者只需描述 UI 应该是什么样子的,而不需要手动操作 DOM。React 会根据数据的变化自动更新 UI。

原生js时代渲染数据

js 复制代码
const arr = [
    {
        name: '小明',
        age: 18
    },
    {
        name: '小红',
        age: 19
    }
]
const container = document.createElement('ul')
arr.forEach(item => {
    const span = document.createElement('li')
    span.textContent = item.name + item.age 
    container.append(span)
})
document.body.append(container)

框架阶段 不需要在手动操作dom

js 复制代码
const arr = [
    {
        name: '小明',
        age: 18
    },
    {
        name: '小红',
        age: 19
    }
]

const App  = () => {
    return (arr.map(v=>{
        return <div>{item.name} {item.age} </div>
    }))
}
  1. 虚拟 DOM:React 使用虚拟 DOM(Virtual DOM)来优化 UI 的更新过程。当数据发生变化时,React 会创建一个新的虚拟 DOM,然后将其与之前的虚拟 DOM 进行比较,找出最小的变化,并将这些变化应用到实际的 DOM 中,从而提高性能。

  2. 单向数据流:React 采用单向数据流(也称为单向数据绑定),这意味着数据在组件之间通过 props 进行传递,使得数据的流动更加清晰和可预测。

  3. 生态系统:React 有一个庞大且活跃的社区,提供了大量的第三方库和工具,如 React Router(用于路由管理)、Redux(用于状态管理)等,帮助开发者构建复杂的应用。

前置知识

你必须学会以下知识才能使用 React:

  • JavaScript(es6+)
  • HTML
  • CSS
  • TypeScript(基本使用) Typescript教程
  • Npm包管理器

React市场情况

npm官网统计(不包含镜像) 2024-9-4

  1. react 18.3.1 周下载量 22,538,510
  2. vue 3.4.31 周下载量 4,699,312
  3. Angular 18.1.0 周下载量 3,216,414
  4. jQuery 3.7.10 周下载量 10,210,940
  5. solid 1.8.18 周下载量 288,278

安装环境准备

  1. node.js
    下载地址:https://nodejs.org/en 建议安装18以上版本,或者使用nvm管理node版本
  2. vsocde编辑器(如果安装过了请略过|或者喜欢其他编辑器) https://code.visualstudio.com/
  3. vscode插件安装 可选 (Simple React Snippets)
相关推荐
玩电脑的辣条哥2 小时前
Python如何播放本地音乐并在web页面播放
开发语言·前端·python
ew452183 小时前
ElementUI表格表头自定义添加checkbox,点击选中样式不生效
前端·javascript·elementui
suibian52353 小时前
AI时代:前端开发的职业发展路径拓宽
前端·人工智能
Moon.93 小时前
el-table的hasChildren不生效?子级没数据还显示箭头号?树形数据无法展开和收缩
前端·vue.js·html
垚垚 Securify 前沿站3 小时前
深入了解 AppScan 工具的使用:筑牢 Web 应用安全防线
运维·前端·网络·安全·web安全·系统安全
工业甲酰苯胺5 小时前
Vue3 基础概念与环境搭建
前端·javascript·vue.js
mosquito_lover17 小时前
怎么把pyqt界面做的像web一样漂亮
前端·python·pyqt
柴柴的小记9 小时前
前端vue引入特殊字体不生效
前端·javascript·vue.js
柠檬豆腐脑9 小时前
从前端到全栈:新闻管理系统及多个应用端展示
前端·全栈
bin915310 小时前
DeepSeek 助力 Vue 开发:打造丝滑的颜色选择器(Color Picker)
前端·javascript·vue.js·ecmascript·deepseek