Day06 - React 第六天

ops/2024/10/22 8:39:38/

 学习react的第六天,持续更新中 关注不迷路!!!


使用脚手架创建一个react项目

全局下载react脚手架

npm install -g create-react-app

在需要的项目文件中创建一个react项目

create-react-app #项目名

创建好项目以后 npm或yarn start

一个react项目就生成了

脚手架生成的 React 文件通常包括以下几个关键文件和文件夹:

  1. src 文件夹:这是存放项目源代码的文件夹,通常包括以下文件和文件夹:

    • index.js:React 应用的入口文件,通常用于渲染根组件到页面上。
    • App.js:React 应用的根组件,通常包含应用的整体结构和路由配置。
    • components 文件夹:存放 React 组件的文件夹,可以根据需要创建不同的组件文件。
    • pages 文件夹:存放页面组件的文件夹,通常每个页面对应一个组件。
    • assets 文件夹:存放静态资源文件,如图片、样式表等。
  2. public 文件夹:这是存放静态资源的文件夹,通常包括以下文件和文件夹:

    • index.html:React 应用的 HTML 入口文件,通常包含根节点和引入打包后的 JS 文件的代码。
  3. package.json:项目的配置文件,包括项目的名称、版本、依赖等信息。
  4. node_modules 文件夹:存放项目依赖的第三方模块。

  5. babel.config.js:Babel 的配置文件,用于配置 JavaScript 的转译规则。

这些文件和文件夹是脚手架生成的 React 项目的基础结构,开发者可以根据项目需求添加、修改或删除文件来完成项目的开发。

第一个组件

第一步:导出组件 

export default 前缀是一种 JavaScript 标准语法(非 React 的特性)。它允许你标签一个文件中的主要函数以便你以后可以从其他文件引入它。

第二步:定义函数

使用 function Hello() { } 定义名为 Hello的 JavaScript 函数。

export default function Hello () {return (<div>Hello world!</div>)
}

注意

React 组件是常规的 JavaScript 函数,但 组件的名称必须以大写字母开头,否则它们将无法运行!

第三步:添加标签 

这个组件返回一个p标签输入 hello world! 这种语法被称为 JSX,它允许你在 JavaScript 中嵌入使用标签。

注意

如果你的标签和 return 关键字不在同一行,则必须把它包裹在一对括号中

没有括号包裹的话,任何在 return 下一行的代码都 将被忽略;

使用组件 

现在你已经定义了 Heloo组件,你可以在其他组件中使用它。

import Hello from './Hello'
import './App.css';function App() {return (<div className="App"><Hello /></div>);
}

组件的导入导出

组件的可重用性:可以创建一个由其他组件构成的组件。但当嵌套了越来越多的组件时,则需要将它们拆分成不同的文件。这样可以使得查找文件更加容易,并且能在更多地方复用这些组件。

拆分组件 实现静态组件 ,注意 className,style 的写法

 <buttonclassName="btn btn-danger"style={{ display: this.props.tood.state ? "block" : "none" }}/>

动态初始化列表,如何确定将数据放在那个组件?

  • 某个组件使用:放在其自身的state中
  • 某些组件使用:放在它们共同的父组件中(官方称为:状态提升)

关于父子之间通信:

  1.  【父组件】给【子组件】传递数据:通过props传递
  2. 【子组件】给【父组件】传递数据:通过props传递,要求父提前给子传递一个函数

状态在哪里,操作状态的方法就在哪里

React ajax

在 React 中,Ajax(Asynchronous JavaScript and XML)通常用于向后端服务器发送请求并接收数据,以更新页面内容而无需刷新整个页面。在 React 中,可以使用内置的 fetch API 或者第三方库(如 axios)来进行Ajax请求。

配置跨越

配置多个代理

src目录下创建一个 setupProxy.js

const prox = require('http-proxy-middleware')module.exports = function(app){app.use(prox('/api1',{target:'http://localhost:5000',changeOrigin:true,pathRewrite:{'^/api1':''}}),// prox('/api2',{//     target:'http://localhost:5000',//     changeOrigin:true,//     pathRewrite:{'^/api2':''}// }),)
}


http://www.ppmy.cn/ops/6045.html

相关文章

如何在Python中使用matplotlib库进行数据可视化?

如何在Python中使用matplotlib库进行数据可视化&#xff1f; 在Python中使用matplotlib库进行数据可视化 数据可视化是将数据以图形或图像的形式展示出来的过程&#xff0c;它有助于我们更好地理解和分析数据。在Python中&#xff0c;matplotlib是一个非常受欢迎的数据可视化…

记录一个sentinel修改密码方法

docker run --name sentinel --restartalways -p 8858:8858 -d bladex/sentinel-dashboard 使用docker装了sentinel&#xff0c;公司不允许使用默认密码。 使用docker exec -it sentinel /bin/bash进入容器内 在app.jar所在目录下创建application.properties的配置文件 # I…

vue3的ref和reactive

ref RefImpl&#xff1a;引用对象&#xff0c;如果想让一个普通变量变成响应式的&#xff0c;就需要把这个变量丢给ref。 修改的时候需要使用name.value进行修改。使用的时候直接使用name字段就行。 补充&#xff1a;const obj{name:’li’}定义的对象是可以修改对象里面的属性…

PostgreSQL 窗口函数汇总

文章目录 前言一、什么是窗口函数?二、常用的4类窗口函数三、PARTITION BY 子句四、窗口函数示例1. 聚合计算1.1 sum() 函数1.2 count() 函数1.3 avg() 函数2. 分组排序2.1 row_number() 函数2.2 rank() 函数2.3 dense_rank() 函数3. 分组查询

每日一题:计数质数

给定整数 n &#xff0c;返回 所有小于非负整数 n 的质数的数量 。 示例 1&#xff1a; 输入&#xff1a;n 10 输出&#xff1a;4 解释&#xff1a;小于 10 的质数一共有 4 个, 它们是 2, 3, 5, 7 。示例 2&#xff1a; 输入&#xff1a;n 0 输出&#xff1a;0示例 3&#…

专题【二分查找】刷题日记

题目列表 4. 寻找两个正序数组的中位数 33. 搜索旋转排序数组 34. 在排序数组中查找元素的第一个和最后一个位置 35. 搜索插入位置 69. x 的平方根 167. 两数之和 II - 输入有序数组 209. 长度最小的子数组 222. 完全二叉树的节点个数 287. 寻找重复数 2023.04.14 4. 寻找两…

机器学习周记(第三十五周:语义分割)2024.4.15~2024.4.21

目录 摘要 ABSTRACT 1 语义分割基本概念 1.1 数据集格式 ​编辑 1.2 语义分割评价指标 1.3 语义分割标注工具 2 转置卷积 3 FCN网络结构基本原理 摘要 本周主要学习了语义分割的基本概念及其在计算机视觉领域中的应用。了解了语义分割的几种经典网络&#xff0c;如全卷…

《王者荣耀》Hello Kitty 小兵皮肤完整设置指南

王者荣耀与三丽鸥的联动活动上线了 Hello Kitty 小兵皮肤&#xff0c;让我们的峡谷小兵们也能穿上漂亮的衣服啦&#xff01;这款皮肤极具卡哇伊风格&#xff0c;引起了许多玩家的关注。许多小伙伴都想知道如何使用这款 Hello Kitty 小兵皮肤&#xff0c;今天小编将为大家整理出…