自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(22)
  • 资源 (1)
  • 收藏
  • 关注

原创 react:setState是同步还是异步?

setState要使用不可变值首先 setState 要使用不可变值,例如:// 错误this.setState({ arr: this.state.arr.push('1')})// 正确this.setState({ arr: this.state.arr.contact('1')})上面的写法是不对的,像 push、pop、splice 这种操作都是会改变原有数据的,要用 contact、扩展运算符等等,对象的话用 Object.assign()、或对象的扩展运算符。setSt

2021-04-30 14:06:58 335

原创 react:组件间的通讯与状态提升

父组件向子组件通信子组件向父组件通信跨级组件之间通信非嵌套组件间通信父组件向子组件通信父组件:import React,{ Component } from "react";import Sub from "./SubComponent.js";import "./App.css";export default class App extends Component{ render(){ return( <div> .

2021-04-28 14:11:31 129

原创 react和vue的一些对比和个人感悟

文章目录1、条件判断、列表渲染等vuereact2、表单vuereact3、数据流vuereact4、虚拟domvuereact5、模板和JSXvuereact6、用法reactvue7、生态reactvue1、条件判断、列表渲染等vue有v-if、v-for等vue指令react完全是js控制,只不过用了jsx2、表单vuev-model双向绑定,其实是oninput的一个语法糖react完全js控制,用onChange实现双向绑定,但是react叫受控组件,也就是input的文字是受

2021-04-28 13:41:54 1104

原创 react:合成事件

react事件react中的事件是合成事件event 是SyntheticEvent,模拟出来 dom 事件的所有能力event.nativeEvent 是原生事件对象所有的事件都被挂载到 document 上和dom事件不一样,和 Vue 事件也不一样注:react17中事件不再 document 上,而是绑定在 root 组件上,也就是最初的那个 root dom 节点好处:有利于多个react版本共存,例如微前端(document只有一个,root节点可以有多个)clickHa

2021-04-27 22:21:52 289

原创 react:条件运算、list等基础知识

条件运算render () { const blackBtn = <button classNamee="btn">black btn</button> const whiteBtn = <button classNamee="btn">white btn</button> if (this.state.theme) { return blackBtn } else { return whiteBtn } return <d

2021-04-27 21:56:00 182

原创 react:class、style渲染和渲染html

class// 静态写法const styleElem = <p className="title">设置class</p>// 动态写法const styleElem = <p className="{this.state.className}">设置class</p>注意:要用classNamestyle// 动态写法const styleData = { fontSize: '30px', color: 'blue' }const s

2021-04-27 21:29:39 257

原创 mac装机系列:iterm2顶部栏没有了怎么办?

问题如图,今天重启电脑后,iterm2变成这样了,顶部的导航没有了,什么原因呢?解决打开:preferences -> profiles -> window看看你是不是设置为别的了,改为 Normal,然后重启 iterm2 生效!!...

2021-04-25 12:03:22 1487

原创 mac装机系列:生产力工具uTools(可快速查单词)

https://u.tools/按照官方教程用就可以了,效果如图

2021-04-24 19:38:00 404

原创 mac装机系列:VScode安装code命令

1、打开 VSCode2、使用 command + shift + p (window 下使用 ctrl + shift + p ) ,然后搜索code,选择 install ‘code’ command in path

2021-04-24 18:35:52 918

原创 mac装机系列:亲测有效curl: (7) Failed to connect to raw.githubusercontent.com port 443: Connection refused

问题我下载 oh my zsh 的时候报错 curl: (7) Failed to connect to raw.githubusercontent.com port 443: Connection refusedsh -c "$(curl -fsSL https://raw.github.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"排查第一步首先在浏览器访问 https://raw.github.com/ohmyzsh/ohmyzsh/master

2021-04-24 17:35:51 353

原创 mac装机系列:每次打开iTerm都需要source bash_profile问题

问题当我们在.bash_profile文件中写入下面内容export NVM_DIR="$HOME/.nvm"[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh" # This loads nvm[ -s "$NVM_DIR/bash_completion" ] && \. "$NVM_DIR/bash_completion" # This loads nvm bash_completion配置好 nvm 的时候,执

2021-04-24 16:35:41 1063

原创 mac装机系列:如何显示隐藏文件

方法一打开访达,同时按下CMD + shift + .方法二打开终端// 显示隐藏文件defaults write com.apple.finder AppleShowAllFiles -bool true;killall Finder// 隐藏隐藏文件defaults write com.apple.finder AppleShowAllFiles -bool false;killall Finder...

2021-04-24 16:31:26 111

原创 js:冷门但好用的es6语法

数组findIndex()findIndex()函数也是查找目标元素,找到就返回元素的位置,找不到就返回-1。var objs = [ {type: 'baidu', name: '百度'}, {type: 'alibaba', name: '阿里巴巴'}, {type: 'tengxun', name: '腾讯'},]有以上数据,想通过 type 查到 name遍历的方式:let name = ''objs.forEach(item => { if (it

2021-04-23 14:37:02 251 1

原创 小程序:预览PDF

官方文档前提:记得在小程序后台添加 downloadFile 域名白名单//打开pdf文件wx.showLoading({ title: '加载中...',})wx.downloadFile({ url: 'pdf_url', success: function (res) { const filePath = res.tempFilePath wx.openDocument({ filePath: filePath, success: fun

2021-04-22 15:31:57 254

原创 vue系列:跳转同一个路由如何替换url后的参数

问题当我们 vue 想要跳转到同一个路由,比如当前在路由 A,并携带了参数,然后想要还在路由 A,但是后面的参数变化怎么办呢?解决只要不填 path 参数就会默认跳到当前路由上this.$router.replace({ query: { code: 12 }})比如你目前的 url 是 https://xxx.com?code=11,执行上面的命令就可以变为https://xxx.com?code=12当然你也可以用 push 代替 replace衍生方案npm in

2021-04-22 15:02:52 1592

原创 PPTP协议、L2TP协议和SSTP协议的介绍

PPTP:点对点隧道协议(PPTP: Point to Point Tunneling Protocol)默认端口号:1723 (TCP)点对点隧道协议(PPTP)是一种支持多协议虚拟专用网络的网络技术,它工作在第二层。通过该协议,远程用户能够通过 Microsoft Windows 操作系统以及其它装有点对点协议的系统安全访问公司网络,并能拨号连入本地ISP,通过 Internet 安全链接到公司网络。L2TP:第二层隧道协议(L2TP: Layer 2 Tunneling Protocol)

2021-04-16 20:55:04 5022

原创 mac装机系列:iTerm2 + Oh My Zsh超好用的终端体验

下载iterm2https://iterm2.com/// brew下载brew cask install iterm2// 官方文档下载https://iterm2.com/Zsh(Z-shell)是一款用于交互式使用的shell,也可以作为脚本解释器来使用。其包含了 bash,ksh,tcsh 等其他shell中许多优秀功能,也拥有诸多自身特色。从 macOS Catalina 版开始,其默认shell从bash改为zsh。下载Oh My Zshhttps://ohmyz.sh/

2021-04-13 16:03:09 1953

原创 mac装机系列:三指拖拽使用

系统偏好设置 -> 辅助功能 -> 指针控制 -> 触控板选项

2021-04-13 15:09:45 158

原创 mac装机系列:安装git

mac系统自带了git,这里教大家的是如何和自己的github建立连接首先我们需要生成秘钥秘钥生成我们新电脑的时候。是没有 ~/.ssh 这个文件夹的,我们需要默认给他生成一个ssh-keygen -o首先 ssh-keygen 会确认密钥的存储位置(默认是 .ssh/id_rsa),然后它会要求你输入两次密钥口令。 如果你不想在使用密钥时输入口令,将其留空即可。 然而,如果你使用了密码,那么请确保添加了 -o 选项,它会以比默认格式更能抗暴力破解的格式保存私钥。 你也可以用 ssh-agent

2021-04-13 14:55:31 190

原创 mac装机系列:安装brew&常见问题

https://brew.sh/index_zh-cn/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"文档已经相当详细了Homebrew 会将软件包安装到独立目录,并将其文件软链接至 /usr/local 。$ cd /usr/local$ find CellarCellar/wget/1.16.1Cellar/wget/1.16.1/bin/wget

2021-04-13 13:59:37 2094

原创 基于node的性能监控平台

pm2我们部署 node 项目一般使用 pm2,其实 pm2 也有界面形式的监控平台,但是要收费的。https://pm2.io/如图,我们平时使用的都是 runtime 版本,也就是开源的,他的监控平台就是收费的,如图easy-monitorhttps://github.com/hyj1991/easy-monitor这是我找到的一个开源的监控平台,相对来说比较好一点的。阿里的性能监控平台(alinnode)https://www.aliyun.com/product/nodejs

2021-04-09 16:41:01 648

原创 使用verdaccio 搭建私有npm 服务器

之后更新参考资料https://blog.csdn.net/qq_29594393/article/details/81587989

2021-04-07 18:00:09 144

nginx判读user_agent并转发请求配置文件

nginx判读user_agent并转发请求配置文件

2022-03-17

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除