React_初始化脚手架

文章目录

使用create-react-app创建react应用

脚手架用webpack完成

react脚手架

1. xxx脚手架: 用来帮助程序员快速创建一个基于xxx库的模板项目
    1. 包含了所有需要的配置(语法检查、jsx编译、devServer…)
    2. 下载好了所有相关的依赖
    3. 可以直接运行一个简单效果
2. react提供了一个用于创建react项目的脚手架库: create-react-app
3. 项目的整体技术架构为:  react + webpack + es6 + eslint
4. 使用脚手架开发的项目的特点: 模块化, 组件化, 工程化

创建项目并启用

第一步,全局安装:npm i -g create-react-app
第二步,切换到想创项目的目录,使用命令:create-react-app hello-react
第三步,进入项目文件夹:cd hello-react
第四步,启动项目:npm start

脚手架项目结构

public ---- 静态资源文件夹
		favicon.icon ------ 网站页签图标
		index.html -------- 主页面
		logo192.png ------- logo图
		logo512.png ------- logo图
		manifest.json ----- 应用加壳的配置文件
		robots.txt -------- 爬虫协议文件
src ---- 源码文件夹
		App.css -------- App组件的样式
		App.js --------- App组件
		App.test.js ---- 用于给App做测试
		index.css ------ 样式
		index.js ------- 入口文件
		logo.svg ------- logo图
		reportWebVitals.js
			--- 页面性能分析文件(需要web-vitals库的支持)
		setupTests.js
			---- 组件单元测试的文件(需要jest-dom库的支持)

public文件

react脚手架关键词的写法,代表public文件夹的路径

在这里插入图片描述

与直接写效果相同,上述写法在引人路由会有优势。

在这里插入图片描述

用于开启理想视口,移动端网页适配

在这里插入图片描述只针对androids手机页签和地址栏的颜色

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

src文件

<React.StrictMode>检查app和app里面子组件是否合理
svg是一个logo图,通过浏览器打开就能看到
reportWebVitals 用于记录界面上的性能的

一个简单的hello组件

其实主要写三个文件

在这里插入图片描述


将原来的文件放入一个文件重新创建public和src

在这里插入图片描述

这是修改后的文件多了三个文件。

在这里插入图片描述


./public/index.html

<!DOCTYPE html>
<html lang="en">
<head>
    <link rel="icon" href="%PUBLIC_URL%/favicon.ico" />
    <meta charset="UTF-8">
    <title>react</title>
</head>
<body>
    <div id="root"></div>>
</body>
</html>

./src/App.js

//创建外壳组件
import React from 'react'

class App  extends React.Component{
    render(){
        return(
            <div>
                hello ,react!
            </div>
        )
    }
}
// 暴露APP组件
export default App

./src/index.js

//引入react核心库
import React  from 'react'
import  ReactDOM from 'react-dom'
// 引入APP组件
import App from './App'
//渲染app组件到页面
ReactDOM.render(<App />,document.getElementById('root'))

在这里插入图片描述


这里已经正常使用,但在app中要用组件,不能直接用hello react ,这里可以创建hello 组件

规范化的文件格式

在这里插入图片描述

public中两个文件没变
文件要放入components文件夹中不要与app 和index放在一起,可以加入css改变样式具体如下

在这里插入图片描述

./components/Hello.css

.title{
    background-color:  orange;
}

./components/Hello.js

import React ,{Component} from 'react'
import './Hello.css'
export default class Hello extends Component{
    render(){
        return <h2 className="title">Hello,react</h2>
    }
}

./App.js

//创建外壳组件
import React,{Component} from 'react'
import Hello from './components/Hello'
//创建并暴露app
export default class App  extends Component{
    render(){
        return(
            <div>
                <Hello />
            </div>
        )
    }
}

./index.js

//引入react核心库
import React  from 'react'
import  ReactDOM from 'react-dom'
// 引入APP组件
import App from './App'
//渲染app组件到页面
ReactDOM.render(<App />,document.getElementById('root'))

多组件模式

componets中每个组件都建立一个文件夹

在这里插入图片描述

在这里插入图片描述


在这里插入图片描述

优化

可以把组件的js改为jsx,这样就能分清逻辑和组件

相关文章

一、前言 在组件方面react和Vue一样的,核心思想玩的就是组件...
前言: 前段时间学习完react后,刚好就接到公司一个react项目...
前言: 最近收到组长通知我们项目组后面新开的项目准备统一技...
react 中的高阶组件主要是对于 hooks 之前的类组件来说的,如...
我们上一节了解了组件的更新机制,但是只是停留在表层上,例...
我们上一节了解了 react 的虚拟 dom 的格式,如何把虚拟 dom...