react学习|青训营笔记

193 阅读3分钟
  1. React 介绍 了解 react 的历史背景和基本概念

React 起源于 Facebook 的内部项目。因为该公司对市场上所有 JavaScript MVC 框架,都不满意,就决定自己写一套,用来架设 Instagram 的网站。做出来以后,发现这套东西很好用,就在 2013 年 5 月开源了。

React 是最流行的前端框架之一。对比近两年 Vue 和 Angular 的下载量,还有 2021 年开发者使用的 web 框架的 比例 ,可以看到 React 是前端工程师应该必备技能之一,现在很多大厂也在使用它。

React 是一个用于构建用户界面的 JavaScript 库。可以理解它只负责 MVC 中的视图层渲染,不直接提供数据模型和控制器功能。react-router 实现路由,redux 实现状态管理,可以使用它们来构建一个完整应用。

​React 中文站,React 官方中文文档 – 用于构建用户界面的 JavaScript 库

总结: React 是 Facebook 开源的,现在它是最流行的前端框架大厂必备,React 本身是一个构建 UI 的库,如果需要开发一个完整的 web 应用需要配合 react-router,redux,...等。

  1. React 特点 了解 react 的三个核心特点

(1)声明式 React 使创建交互式 UI 变得轻而易举。为你应用的每一个状态设计简洁的视图,当数据变动时 React 能高效更新并渲染合适的组件。 以声明式编写 UI,可以让你的代码更加可靠,且方便调试。

(2)组件化 创建拥有各自状态的组件,再由这些组件构成更加复杂的 UI。 组件逻辑使用 JavaScript 编写而非模版,因此你可以轻松地在应用中传递数据,并使得状态与 DOM 分离。

(3)一次学习,跨平台编写

总结: 声明式 UI 更清晰快捷,组件化开发更灵活,可支持 SSR,SPA ,NativeApp,VR 多平台。

  1. React 脚手架 掌握使用 create-react-app 脚手架创建项目

创建项目方式:

全局安装脚手架再使用命令创建项目 使用 npx 远程调用脚手架创建项目 方式 1 全局安装

全局安装脚手架

npm i create-react-app -g

创建项目

project-name 项目名称

create-react-app project-name

方式 2 npx 安装,npm5.2+支持

project-name 项目名称

npx create-react-app project-name

推荐: 使用方式 2这样每次使用的最新脚手架创建项目,创建完毕使用 npm start 启动项目。

  1. React 基本使用 在 create-react-app 脚手架创建项目中,掌握使用 react 基本步骤

使用步骤:

导入 react react-dom 两个包 使用 react 创建 react 元素(虚拟 DOM) 使用 react-dom 渲染 react 元素 落地代码:src 内文件删除,创建src/index.js

导包 // 负责创建react元素 import React from 'react'; // 负责把react元素渲染到页面 import ReactDom from 'react-dom'; 创建 react 元素 // 参数1:标签名称 // 参数2:属性集合 特殊 class==>className for==>htmlFor // 参数3:标签内容 const element = React.createElement('h1', { id: 'el' }, 'Hello React'); 渲染 react 元素 // #root在public/index.html上 ReactDom.render(element, document.getElementById('root')); 总结: 使用 react 创建元素,使用 react-dom 渲染元素。

  1. React 创建元素练习 掌握使用 react 创建嵌套元素

练习题目:

使用 react 创建如下元素

水果

  • 苹果
  • 橘子
落地代码:

import React from 'react'; import ReactDOM from 'react-dom';

const element = React.createElement('div', { className: 'list' }, [ React.createElement('h1', null, '水果'), React.createElement('ul', null, [ React.createElement('li', null, '苹果'), React.createElement('li', null, '橘子'), ]), ]);