一.React特点
1.声明式编程
2.组件化开发
3.多平台适配
二.React开发依赖
1.React:包含react所必须的核心代码
2.react-dom:react渲染在不同平台所需的核心代码
3.babel:将jsx转换成react代码工具
babel:babel.js
目前是前端使用广泛的编辑器,转换器
jsx是JavaScript的语法扩展extension,在很多地方被称为JavaScript的XML
它用来描述我们UI界面
三.React 项目结构 详细讲解
- 1. node_modules: 所有依赖的总集合包,和vue的是一样的
-
- 2. public {
- favicon.ico:图标
-
- index.html:每个项目的入口,单页面复应用
-
- manifest.json: 和web app配置相关
-
- logo192.png:图片而已
-
- robots.txt:设置爬虫规则的
- }
-
- 3. src { // 写的所有的源代码文件的
-
- App.css: 当前的App组件的 css 样式
-
- App.js:App组件的代码文件(函数式组件)
-
- App.test.js: 对App写一些测试用例的
-
- index.css: 写全局样式的
-
- index.js: 整个应用程序的入口js文件
-
- logo.svg: 项目刚启动时看到的当前页面旋转的那个SVG图片
-
- reportWebVitals.js 默认帮我们写好的注册PWA相关代码
-
- setupTests.js:测试初始化文件
- }
-
- 4. .gitignore(这个文件的主要工作是:忽略一些不需要提交到代码仓库的文件就在这里写,不需要共享的文件写在这里)
-
- 5. package.json(关于我们整个项目管理配置的一个文件)
-
- 6. README.md 说明文档
-
- 7. yarn.lock (记录真实版本的依赖)
当我们创建好脚手架后,需要把src文件夹中的所有文件删掉
1.创建index.js文件,里面需要写以下代码
- // 第一步:
- import React from 'react';
- //第二步:
- import ReactDOM from "react-dom"
-
- // 导入你封装的 js 文件
-
- import { sum } from "./utils"
- console.log(sum(10, 20));
-
- // 第三步
-
- class App extends React.Component {
- constructor() {
- super();
- this.state = {
- count: 0
- }
- }
- render() {
- return (
- <div>
- <h2>当前计数</h2>
- <button>+</button>
- <button>-</button>
- </div>
- )
- }
- }
-
- // 第三步:
- // ReactDOM.render(需要挂载的组件名称, 这个地方会找到你的pubic 里面的 index.html中的 <div id="root"></div> 文件)
- ReactDOM.render(<App/>, document.querySelector('#root'))
-
- 这种写到 index.js 中是不规范的,所以 要重新写一个 App.js 文件 把 第三步 抽取到 App.js 文件中