0%

先声明一个useReducer文件

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
import { createContext } from "react";
export const initData = { count: 0 };//初始数据

// 派发事件
export const reducer = (state , action) => {
switch (action.type) {
case "add":
return { ...state, count: state.count + 1 }
case "sub":
return { ...state, count: state.count - 1 };
case "change":
return { ...state, count: action.changeCount };
default:
return state
}
}

export const ContextData = createContext({});
阅读全文 »

实现代码

下面的代码实现使用的是express框架

获取cookie

核心代码req.headers.cookie

1
2
3
4
5
router.get("/init",(req,res)=>{
res.header("Content-Type", "application/json; charset=utf-8");
var cookies = req.headers.cookie;
console.log(cookies)
})
阅读全文 »

一、在package.json中添加rules

在package.json中找到eslintConfig这一项,在里面添加rules进行修改即可
例子:

1
2
3
4
5
6
"eslintConfig": {
"extends": "react-app",
"rules": {
"jsx-a11y/anchor-is-valid": "off"
}
}
阅读全文 »

一、安装http-proxy-middleware

1
npm install http-proxy-middleware --save

二、进行配置

安装middleware插件后,在src目录中新建setupProxy.js文件,在文件中放入如下代码:

阅读全文 »

一、应用场景

目前我想到的应用场景就只有一个,就是用手机上用脚本自动点击指定位置的元素。
手机有个名为Auto.js的软件,这款软件可以写脚本的,脚本是可以在其他软件上运行的(真心给力的脚本软件,比如可以写一个蚂蚁森林收集能量的脚本、抢限时优惠卷的脚本等等),只不过要用auto.js的语法。
我当时用auto.js写手机上的一些脚本的时候就经常用一个click(x,y)的方法可以实现指定坐标元素点击的功能。
对Auto.js这款软件就不多介绍了,想多了解的话自行百度。

二、什么是Document.elementFromPoint()

阅读全文 »

一直以为querySelectorAll()系列除了兼容性以外其他方面都能完胜getElementsByClassName()系列,最近才发现我还是太年轻了。

区别:

querySelectorAll()和querySelector()有个比较容易忽略的缺点就是获取出来的元素及元素数组是静态的
但是getElementsByClassName()和getElementsByTagName()获取出来的元素及元素数组是动态的
静态的就是说它不会随着 dom 操作而改变,动态的 dom 变了也会跟着变

阅读全文 »