一、React基础夯实

一、学习目标

1.项目搭建

  1. 0-1手动搭建,基于webpack(少)
  2. vite脚手架搭建(多)

2.React基础语法

  1. jsx
  2. props
  3. state
  4. 条件渲染
  5. 生命周期
  6. 事件处理

3.组件化设计开发

  如何拆分管理React组件,提升项目可维护性和复用性

4.hooks设计基础

  通过函数组合方式,进一步将ui视图和状态解耦

5.React生态体系

  了解React主流技术栈以及方案选型,包括:样式方案、状态方案、路由方案等

6.React性能优化

  代码拆分,懒加载,避免不必要的渲染等等

二、补充资料

  • Vite 初始化 React:https://vitejs.dev/guide/#scaffolding-your-first-vite-project​    
  • Webpack 初始化 React:https://github.com/facebook/create-react-app​  
  • React 基础架构社区方案:https://github.com/kriasoft/react-starter-kit​  
  •  React 中文官网:https://zh-hans.react.dev/​  
  •  React Hooks 套件:https://github.com/streamich/react-use

三、面试真题

1、React18有哪些更新?

  React19版本已经更新,但是和React18的更新不明显,主要有1.服务端渲染;2.表单操作优化

  React18的更新:

2、React组件异常如何捕获?

  错误边界

3、生命周期

四、React简介

  React是由Facebook开发并开源的一个用于构建用户界面的JavaScript库。

  它主要用于构建单页应用(SPA)。

  核心理念是组件化和声明式编程。

  所有视图层的更新不是操作dom,而是驱动数据更新的,状态的变化会引起视图的更新。

  ui = render(state)

  ui = f(state)

  ui component + state hook

1.核心特点

  1. 声明式 通过定义jsx语法实现
  2. 组件化
  3. 虚拟DOM(virtual DOM)设计之初是为了解决DOM频繁操作引发的性能问题,随着前端业务场景的复杂化程度加深,类似于飞书文档的复杂文档项目,虚拟DOM本身的建立和整个diff过程在内存中的开销变得巨大,反而会带来一些副作用,现在很多极端的性能优化场景会强调抛弃掉虚拟DOM。vite理念bundless,少打包,只打包浏览器不能解析的内容。
  4. 单向数据流
  5. JSX语法 javascript + Html

2.核心概念

  1. 组件化设计:类组件(抛弃),函数组件(广泛运用)
  2. 状态state:内部数据储存,决定视图更新
  3. 属性props:外部数据,不可以修改

3.主要生态系统

态度:举一反三,横向对比

  1. 路由React Router
  2. 状态管理Redux -> zustand
  3. 脚手架CRA(Craete-React-App)-> vite react cli

五、React项目初始化

脚手架方案

手动搭建

使用vite

1.创建项目目录并初始化

  mkdir basic
  cd basic
  初始化项目 产出package.json文件
  npm init -y

2.在package.json中新增开发环境和生产环境需要的依赖并且定义启动命令

  devDependencies中指定react、react-dom的版本,

  dependencies中指定vite的版本,

  scripts定义启动命令

{
  "name": "1.basic",
  "version": "1.0.0",
  "main": "index.js",
  "scripts": {
    "dev": "vite",
    "build": "vite build",
    "preview": "vite preview"
  },
  "keywords": [],
  "author": "",
  "license": "ISC",
  "description": "",
  "dependencies": {
    "react": "19.1.1",
    "react-dom": "19.1.1"
  },
  "devDependencies": {
    "vite": "7.1.3"
  }
}

3.新增入口文件src/main.js和index.html文件

  src/main.jsx

console.log('hello, world');

  index.html

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=devic
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值