React脚手架(React Starter Kit)是一个工具集,用于帮助开发人员快速搭建React应用程序的基本结构。它包括了React应用程序的基本文件和文件夹结构、自动化构建工具、开发服务器、测试工具等,可以大大减少开发人员的工作量。
目前比较流行的React脚手架包括:
这些React脚手架都可以根据开发人员的需求进行定制化配置,以满足特定的项目要求。
我们目前要学习的create-react-app。
npm install -g create-react-app
create-react-app xxx项目名
cd xxx项目名
npm start或者yarn start
初始化项目结构如下图1.3-1所示:
启动项目,效果图如下2-1所示:
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-PIApI7Wl-1680424518550)(/Users/gaogzhen/baiduSyncdisk/study/front/react/note/03scaffold/images/截屏2023-03-30 17.12.39-create-react-app-yarn-start.png)]
项目结构简介如下:
我们先了解脚手架,通过循序渐进方式,一些暂时用不到的“组件”我们会删减。
脚手架中我们只留下node_modules,空的public和src文件夹,package.json,README.md。
我们在App壳组件中添加2个自定义的组件Hello和Welcome组件。
第一步,public/index.html,代码如下,
React 脚手架
第二步,开发入口文件src/index.js,代码如下:
// 引入react核心库
import React from "react";
// 引入react-dom
import ReactDOM from 'react-dom/client'
// 引入App组件
import App from './App'
// 渲染组件到页面
const root = ReactDOM.createRoot(document.getElementById('root'))
root.render(
)
第三步,开发壳组件src\App.jsx,代码如下:
// 创建外壳组件App
import {Component} from 'react'
import Hello from './components/Hello'
import Welcome from './components/Welcome'
class App extends Component {
render() {
return (
)
}
}
export default App
第四步,为了方便管理和隔离,自定义的组件我们统一放在src/components下,文件名为组件名。
创建Hello组件,代码如下
import {Component} from 'react'
// import Ht from './index.css'
import hello from './index.module.css'
class Hello extends Component {
render() {
return (
hello, reac222
)
}
}
export default Hello
创建Welcome组件,代码如下
import {Component} from 'react'
import wel from './index.module.css'
// import './index.css'
class Welcome extends Component {
render() {
return (
welcome study react
)
}
}
export default Welcome
import {Component} from ‘react’ 为模块化导入,不是结构赋值语法。
我们使用类式组件
最后需要导出组件,基于模块化开发,需要导入导出。
因为组件最后统一放置在App组件中,所以,如果样式有冲突,我们可以通过样式模块化来隔离
文件结构如下图3-1所示:
代码在文章最后仓库中有。
效果如下图3-2所示:
在开发中,有很多固定和重复的代码,比如引入react,react-dom 定义类组件等等。为了提高开发效率,在很多开发工具中,都提供了代码片段(snippets)功能,即在工作区输入助记符,自动生成相应格式的代码。
其中在vscode中,我们可以通过安装如下图4-1所示插件
该插件给我们封装好了很多代码片段,比如敲rcc 对应代码片段为
import React, { Component } from 'react'
export default class 当前文件名 extends Component {
render() {
return (
当前文件名
)
}
}
更多代码片段参考官方文档
通过上面对脚手架的学习,我们用脚手架来做个TodoList入门案例。
❓QQ:806797785
⭐️源代码仓库地址:https://github.com/gaogzhen/react-staging.git
参考:
[1]React视频教程[CP/OL].2020-12-15.p49-55.
[2]React官网[CP/OL].
[2]ChatGPT[CP/OL].