- 博客(77)
- 资源 (5)
- 收藏
- 关注
原创 更简单的Redux工具 Toolkit
index.jsx(在项目入口处引入该文件)})main1.jsx(在页面中引入该文件)export const getRequestFn = createAsyncThunk( // 异步接口修改statetry {// 触发一个请求},},},},builderif (!state.status = actions.payload.status // 赋值为请求的data.status})})
2023-12-07 16:19:29
456
原创 anaconda切换python版本
结果如下图,左侧表示已下载的环境信息,当前我已经下载了python3.10(python310)和3.9(python39)两个版本。
2023-07-28 14:10:38
4401
1
原创 前端精度丢失处理
前端操作数据时,如果数据超出一定范围会出现精度丢失的问题,这是因为,在传输过程中,数据类型被转换成Number,Number的精度范围在2^53之间
2023-07-14 11:31:15
2254
原创 requestAnimationFrame实现动效优化
使用setTimeout/setInterval做动效改变时,过程中的刷新频率会影响最终效果,可以使用requestAnimationFrame来优化动效。
2023-03-13 21:28:41
218
原创 配置项目支持typescript
在已有项目中初次引入ts文件,会提示等各种错误,原因是当前项目并不支持ts,这个时候需要我们在项目中添加相关配置。
2023-03-01 17:48:17
261
原创 zego实现简单的web端推拉流
let localStream // 询问获取设备权限 export const enumDevices = async() => {try {
2023-03-01 15:26:01
529
原创 js动态修改html、body的css属性
以react为例,当页面属性(status)改变时,动态改变html和body的背景色,代码如下。js获取html标签。js获取body标签。
2023-02-21 20:56:18
2142
原创 控制台报错:Can‘t perform a React state update on an unmounted component. This is a no-op...
setTimeout在执行完成后会自动销毁,一般不需要手动销毁,setInterval不会自动销毁。但是在快速切换组件时,使用setTimeout也有可能报上述错误,所以需要添加手动销毁代码。切换组件渲染时,控制台提示需要cleanup function,一般造成这种提示的原因是。
2023-01-18 10:30:35
1430
1
原创 页面链接分享到三方APP后自定义缩略图
将一个前端页面链接分享到三方app中,如下图,可见的有标题、描述和缩略图, 本文主要介绍如何定制缩略图。定制方法主要有两种,首先找到页面的(public/index.html,具体路径视项目框架而定),然后在head或body标签中进行定制。
2022-10-26 18:06:19
429
原创 swiper轮播过程中点击事件无效
问题:使用三方组件swiper轮播的过程中,点击轮播的部分内容,会出现事件无效的问题。原因在于,swiper设置loop=true时,会生成虚拟slide进行填充,对这些虚拟slide元素进行操作无效。
2022-09-26 18:30:58
4477
原创 执行 npm 指令失败,提示ssh: ... Permission denied
问题:控制台输入 npm 相关指令时失败,提示ssh: /usr/…/node_modules/… Permission denied原因:依赖包的问题解决方案:重构依赖或者重新下载依赖
2022-06-21 15:11:49
2003
原创 获取元素属性(offsetHeight、clientHeight...)无效
示例:在获取指定元素的高度时,始终打印为0原因:可能是页面渲染过慢,造成offsetHeight(offsetWidth、clientHeight…)等属性渲染不及时解决方法有两种1 使用useEffect监听offsetHeight属性的改变,然后赋值2 使用计时器监听offsetHeight,有改变即重新赋值结论:推荐使用第二种计时器方法,因为使用useEffect对一个复杂对象监听时,效果可能不太理想......
2022-06-03 00:27:36
3634
原创 js获取月的第一天、最后一天
首先介绍一些基本概念,如下:const date = new Date() // 获取当前时间的标准格式,Wed May 25 2022 17:02:12 GMT+0800 (中国标准时间),表示2022年5月25日const year = date.getFullYear() // 获取年,2022const month = date.getMonth() // 获取月,4(0-11表示1-12月,这里需要注意)const day = date.getDate() // 获取日,25(1-31)
2022-05-25 17:32:14
8744
原创 scss文件中修改三方组件样式
开发过程中经常会用到三方组件,对三方组件中的样式进行修改显得尤为重要。以DatePicker为例,通过scss文件修改取消和确定按钮的样式。修改后:首先找到要修改元素对应的class,此处”取消“按钮为am-picker-popup-header-left,”确定“按钮为am-picker-popup-header-right,主要有以下两种方法:1 直接导入.scss文件.js文件内容如下import './index.scss'<DatePicker .../>
2022-04-22 18:22:23
2275
原创 栈外h5跳转app,否则跳商城下载
app做端外分享时,用户点击分享页按钮唤起app。若已安装app,则唤起并跳转到app内指定页,否则跳转手机商城进行下载。1 获取端外统跳地址需要找端内开发人员提供,格式大致如下:/** * protocol为统跳协议(每一个app都有特定的protocol) * path为app内页面路径(可以为'') * params为跳转参数(如:id=123&from=web) */const schemeUrl = `${protocol}://${path}?${params}`2
2022-04-15 14:47:05
1125
原创 window返回上一页刷新与不刷新
back/go:加载历史列表中存在的前一个URL;referrer:返回一个url,当前页面就是重这个URL代表的页面跳转或打开的。const handleBack = (refresh) => { if (refresh) { // 返回上一页并刷新 window.location = document.referrer return } window.history.go(-1) // 返回上一页不刷新 }<div onClick={() => handleB
2022-04-13 18:12:07
1079
原创 装饰器createDecorator使用
createDecorator(装饰器)可以将一些通用的东西注入到指定位置,以接口的公共原子参数为例,创建装饰器如下:import { serviceHocs } from 'axios-service'const { setDataDecorate, setParamsDecorate } = serviceHocsimport { createDecorator } from 'vue-class-component'const haveParams = ['a', 'b', 'c'] //
2022-03-24 20:11:42
593
原创 js判定是否首页进入页面
可以在某一页面,通过localStorage存储指定key,并通过key值判断是否首次进入该页面具体如下:1 定义页面key值和对应的value值// key值自定义,无特殊要求,只作为判断的依据const key = YOUR_PAGE_NAME// 这里写入的key值为当日时间,可以确保第二天时依然能够进行首次判定const date = new Date().toDateString()2 通过getItem获取key值用来判定value是否存在、是否改变,以此判定是否为当日首次
2022-01-28 11:30:34
1960
原创 window.history.back()、window.history.go()返回上一页强制刷新
通过history方法返回上一页时,返回的页面并不会刷新,这就造成了上一页的数据未及时更新,所以有时需要做刷新处理,如下# 如果检测到页面是从“往返缓存”中读取的,刷新页面window.addEventListener('pageshow', function(e) { if (e.persisted) { window.location.reload() }})...
2021-12-17 15:21:27
3565
原创 git配置多用户管理
一般来说,公司的项目可能放在gitlab仓库,自己的项目存放在github仓库,这时怎么同时管理两个仓库的代码呢,本文介绍了git多用户的配置。1 清除全局配置(可忽略)首先查看git的全局配置,git config --global --list会列出git全局的name和email信息,可执行以下命令进行清除git config --global --unset user.namegit config --global --unset user.email2 生成钥匙对钥匙文件默认在
2021-11-03 17:42:38
2537
原创 react+springBoot 项目部署到腾讯云
本文主要介绍如何搭建个人网站,并将项目部署到腾讯云。前端框架:React,后端框架:SpringBoot云服务系统:centos71 前端项目的创建与部署1.1 创建项目建议使用create-react-app创建react项目包,简单快捷。npx create-react-app <项目名># npx create-react-app myreact-20211.2 运行进入项目路径,开始运行cd myreact-2021npm run start1.3 打包直
2021-10-27 16:02:51
1331
原创 通过FTP建立本地与远程服务的通信
1 登录云服务器安装vsftpd以腾讯云为例,官方有详细教程,地址:云服务器搭建 FTP 服务这一步骤结束有,要记住创建的ftp连接的用户名和密码,和FTP服务使用的目录,下面会用到2 安装fpt客户端以ForkLift为例,下载ForkLift并安装3 连接到云服务器打开ForkLift,界面如下,选择Go => ConnentProtocol:协议选择ftpServer:云服务器公网IPUsername:第一步中的ftp用户名Password:第一步中的ftp密码填写完成
2021-10-14 15:51:31
520
原创 nginx配置服务器
1 nginx介绍nginx是一款高性能的http服务器/反向代理服务器及电子邮件代理服务器。官方测试nginx能够支撑5万并发链接,并且CPU、内存等资源消耗非常低、运行稳定。2 nginx应用场景http服务器:可以独立提供http服务,可以做网页静态服务器;虚拟主机:可以实现在一台服务器虚拟出多个网站,如个人网站使用的虚拟主机;反向代理:网站访问量达到一定程度后,单个服务器不能满足需求、需要使用多台服务器集群时,可以使用nginx做反向代理,多台服务器平均分担负载,不会出现某一服务器负载高而
2021-09-27 17:00:21
5722
原创 React.createElement分析
React.createElement(标签,props对象,子节点1,子节点2,…):创建一个React元素,包含三个参数,第一个参数必填,表示传入的HTML最外层标签;第二个参数选填,表示属性,如className;第三个参数选填,表示子节点或文本内容。React.createElement( type, [props], [...children])具体使用:jsx语法通过babel转化为js语法时,内部调用了React.createElement()方法1、HTML标
2021-07-08 21:44:03
494
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人