react学习笔记:7

news/2024/10/21 9:55:17/
预览:(fetch发送请求、SPA、连续解构赋值、消息订阅、react router路由第三方库)
1、连续解构赋值

总结:

1、连续解构赋值的写法:对象包对象,第二个解构的value一定也是在{}内部的写法

2、消息订阅发布 (适用于所有组件之间通信)

数据更新-发布消息

 消息订阅:挂载中订阅和修改状态,卸载生命周期函数中取消订阅

3、fetch发送请求
   请求方案:
1、xhr、 jquery、axios(都是基于xhr封装的请求方法)
 2、fetch发送请求(也是window的方法)

代码优化: 出错放到catch里面

try catch优化

4、 SPA单页面应用

5、对路由的理解

映射关系:key是path,value就是组件,用于展示不用的页面内容

 
6.路由的基本使用

路由和路由器:路由器是管理路由的,路由器(router)和路由(routes)

react router dom路由第三方库(相比较react router用于web端更有针对性):
  •   是react的一个插件库
  •   专门用来实现一个SPA应用
  •   基于react的项目基本都会用到此库

安装 :npm i react-router-dom

中文文档官网:

React Router: Declarative Routing for React.js (docschina.org)

   (1).基本使用:

          明确好界面中的导航区、展示区

          导航区的a标签改为Link标签

          展示区写route标签进行路径的匹配

          app最外侧包裹一个<BrowserRouter>

上面的代码会有问题:BrowserRouter只需要一个,包路由链接和注册路由。才能切换内容。最理想的方式是在入口文件中的App组件实例挂载的地方包裹一个路由BrowserRouter。

 

7、页面组件:

组件分路由组件一般组件(通过配置路由路径,和路径匹配点击之后展示的是路由组件,不需要配置路由的是一般组件)

区别:1.props不同:一般组件的props没有传就是{}空对象,传递什么就收到什么,路由组件默认是有数据的,接收三个固定的属性。2、3不同如图:

 以下属性重要:

 


http://www.ppmy.cn/news/1506094.html

相关文章

【算法速刷(5/100)】LeetCode —— 20.有效的括号

题目要求比较明晰简洁&#xff0c;编码难度并不算高 下面贴出代码和思路 bool isValid(string s) {stack<char> stk;for(const char& c : s){if(stk.empty()){stk.push(c);continue;}if(c ( || c [ || c {){stk.push(c);continue;}else{char top stk.top();boo…

Python学习(1):使用Python的Dask库实现并行计算

目录 一、Dask介绍 二、使用说明 安装 三、测试 1、单个文件中实现功能 2、运行多个可执行文件 最近在写并行计算相关部分&#xff0c;用到了python的Dask库。 Dask官网&#xff1a;Dask | Scale the Python tools you love 一、Dask介绍 Dask是一个灵活的并行和分布式…

nginx日志解析

Nginx 的日志默认参数包括访问日志&#xff08;Access Log&#xff09;和错误日志&#xff08;Error Log&#xff09;。以下是对这些默认参数的详细解析&#xff1a; 1. 访问日志&#xff08;Access Log&#xff09; 访问日志记录了每个客户端请求的详细信息&#xff0c;包括…

mmdebstrap:创建 Debian 系统 chroot 环境的利器 ️

文章目录 mmdebstrap 的一般性参数说明 &#x1f4dc;mmdebstrap 的常见用法示例 &#x1f308;使用 mmdebstrap 的注意事项 ⚠️ &#x1f308;你好呀&#xff01;我是 山顶风景独好 &#x1f388;欢迎踏入我的博客世界&#xff0c;能与您在此邂逅&#xff0c;真是缘分使然&am…

2017-架构师案例(九)

某软件企业受该省教育部门委托建设高校数字化教育教学资源共享平台&#xff0c;实现以众筹众创的方式组织省内普通高校联合开展教育教学资源内容建设&#xff0c;实现全省优质教学资源整合和共享。该资源共享平台的主要功能模块包括: (1)统一身份认证模块:提供统一的认证入口&…

一、安装go环境以及编译输出HelloWorld

目前的热门技术方向从分布式微服务开始转向云原生而云原生方向需要掌握GO语言&#xff0c;基于此决定利用平时的时间来完成GO语言的学习。 安装&#xff08;基于mac m1&#xff09; &#xff08;翻看了网上很多的资料&#xff0c;发现很多人记录的有很多问题&#xff0c;一个…

左神学习笔记-岛屿数量问题(java版算法)

目录 1. 问题描述2. 解决方法3. 拓展进阶问题4. 参考链接 1. 问题描述 题目&#xff1a;一个矩阵中只有0和1两个值&#xff0c;每个位置都可以和自己的上下左右四个位置相连&#xff0c;如果有一片1连在一起&#xff0c;这一部分叫做一个岛&#xff0c;求一个矩阵中有多少岛&a…

uBlock Origin很快将无法在Chrome上使用 开发者发布情况说明

Chrome v127 版开始扩展程序页面将自动显示即将不再支持的扩展程序&#xff0c;包括知名的广告拦截扩展程序 uBlock Origin 也在谷歌的警告列表中。昨天 uBO 团队发布新的支持文档对目前的情况进行说明&#xff0c;简单来说就是 Chrome 将不再支持基于 Manifest v2 开发的扩展程…