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,这样就能分清逻辑和组件

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值