第十七章 使用脚手架写一个HelloWorld项目

简介: 第十七章 使用脚手架写一个HelloWorld项目

由于使用react脚手架创建的默认文件很多我们都用不到,我们可以将不需要的默认的文件删除掉,自己重新写一遍提高熟悉度。

移除默认文件并改造

步骤1:删除掉默认文件夹publicsrc

步骤2:新建新的文件夹目录publicsrc

public
|-----index.html // 模板文件
src
|-----components // 存放组件的文件夹
|-----App.jsx // App应用容器
|-----index.js // 入口文件

步骤3:编写public/index.html模板文件

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <meta http-equiv="X-UA-Compatible" content="IE=edge">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>React 脚手架</title>
</head>
<body>
  <div id="root"></div>
</body>
</html>

步骤4:编写App.jsx组件

import { Component} from "react"
import Hello from "./components/Hello"
export default class App extends Component {
  render() {
    return (<div>App</div>)
  }
}

步骤5:编写index.js文件

// 引入react核心库
import React from 'react'
// 引入reacDOM
import ReactDOM from 'react-dom'
// 引入App组件
import App from './App'
ReactDOM.render(
  <React.StrictMode>
    <App />
  </React.StrictMode>,
  document.getElementById('root')
)

注意:这里的react版本是17.0.2, 如果是18.x需要使用createRoot来写:

// 引入react核心库
import React from 'react'
// 引入reacDOM
import ReactDOM from 'react-dom'
// 引入App组件
import App from './App'
const root = ReactDOM.createRoot(document.getElementById('root'))
root.render(
  <React.StrictMode>
    <App />
  </React.StrictMode>,
  document.getElementById('root')
)

步骤6:npm start 运行项目是否成功。

开始编写HelloWorld组件

步骤1:在src/components目录下新建Hello文件夹

步骤2:在Hello文件夹下创建Hello.jsx文件

import {Component} from "react"
export default class Hello extends Component {
  render(){
    return <h1>Hello World</h1>
  }
}

步骤3:在App容器中引入Hello组件

import { Component} from "react"
import Hello from "./components/Hello/Hello"
export default class App extends Component {
  render() {
    return (<div>App
      <Hello/>
    </div>)
  }
}

步骤4:npm start再次运行项目,查看渲染是否成功。

关于组件的编写方式

  • 方式1

1、通常其组件对应的文件夹和文件名称,首字母都是大写

2、文件夹和文件名称使用语义化的英文作为名称

3、这样的组件引入方式是:./components/文件夹名称(首字母大写)/文件名(首字母大写)

  • 方式2

1、组件的文件夹名称,首字母大写

2、文件夹里面的组件名称使用:index.jsx或者index.js作为组件名称

3、这种组件的引入方式是:./components/文件夹名称(首字母大写)

相比较而言,我比较喜欢方式2,因为比较简洁,但是实际开发以公司的规范为主。


相关文章
|
存储 Shell Linux
快速上手基于 BaGet 的脚本自动化构建 .net 应用打包
本文介绍了如何使用脚本自动化构建 `.net` 应用的 `nuget` 包并推送到指定服务仓库。首先概述了 `BaGet`——一个开源、轻量级且高性能的 `NuGet` 服务器,支持多种存储后端及配置选项。接着详细描述了 `BaGet` 的安装、配置及使用方法,并提供了 `PowerShell` 和 `Bash` 脚本实例,用于自动化推送 `.nupkg` 文件。最后总结了 `BaGet` 的优势及其在实际部署中的便捷性。
529 10
|
C# 开发者
深入理解C#中的`Task<T>`:异步编程的核心
【1月更文挑战第3天】本文旨在探讨C#中`Task<T>`的使用和理解,作为异步编程模式的核心组件。`Task<T>`允许开发者在不阻塞主线程的情况下执行异步操作,并返回一个指定类型`T`的结果。通过定义返回`Task<T>`的异步方法、使用`async`和`await`关键字、处理异常以及获取任务结果,开发者可以编写出高效且响应迅速的应用程序。此外,本文还介绍了如何配置任务以及实现任务的连续性和组合,为掌握C#中的异步编程提供了全面的指导。
|
分布式计算 监控 Hadoop
Hadoop权限问题
【5月更文挑战第6天】Hadoop权限问题
432 1
|
弹性计算 监控 网络协议
Compute Service
【9月更文挑战第20天】
94 2
|
网络协议 Linux 网络安全
Iptables 命令完整指南
【8月更文挑战第20天】
4009 0
Iptables 命令完整指南
|
关系型数据库 MySQL Windows
mysql出现ERROR 2003 (HY000): Can‘t connect to MySQL server on ‘localhost‘ (10061)的解决方法
本文讲解:mysql出现ERROR 2003 (HY000): Can‘t connect to MySQL server on ‘localhost‘ (10061)的解决方法
|
安全 Java 数据库
SpringBoot原理分析 | 安全框架:Shiro
SpringBoot原理分析 | 安全框架:Shiro
118 0
|
Python
【从零学习python 】87. 手动搭建HTTP服务器的Python实现及多线程并发处理
【从零学习python 】87. 手动搭建HTTP服务器的Python实现及多线程并发处理
325 1
vc入门宝典十二(调用其它程序)
vc入门宝典十二(调用其它程序)
|
编解码 计算机视觉
Matlab常用图像处理命令108例(二)
Matlab常用图像处理命令108例(二)
254 0