lisongeee 最近的时间轴更新
lisongeee's repos on GitHub
TypeScript · 1128 人关注
vite-plugin-monkey
A vite plugin server and build your.user.js for userscript engine like Tampermonkey, Violentmonkey, Greasemonkey, ScriptCat
TypeScript · 31 人关注
Disable-CSP
A browser extension to disable http header Content-Security-Policy and html meta Content-Security-Policy
TypeScript · 12 人关注
serverless-http-forward
阿里云 函数计算 HTTP 转发
TypeScript · 10 人关注
pixiv-popular-sort
non premium menber use "Sort by popularity"
TypeScript · 9 人关注
scu-sports-data
四川大学创高体育理论考试试卷数据搜索
TypeScript · 9 人关注
vite-plugin-switch-hosts
switch hosts by service worker for each origin in browser without modify system hosts file
TypeScript · 7 人关注
aliyun-onedrive-severless
阿里云函数onedrive index后端代理,使用github actions部署
TypeScript · 7 人关注
rollup-plugin-tla
A rollup plugin to add top level await support for iife/umd
TypeScript · 5 人关注
vite-userscript-template
TypeScript · 4 人关注
aliyun-pages-proxy
基于 域名双线解析 的 Github Pages 代理镜像 函数计算 工具
TypeScript · 4 人关注
tampermonkey-webpack-plugin
TypeScript · 3 人关注
userscripts
TypeScript · 2 人关注
gm-extra
TypeScript · 2 人关注
pkg-cdn
TypeScript · 2 人关注
visit-counter
基于 cloudflare workers 和 preact ssr 的网络访问计数器
Python · 1 人关注
computed-cached-property
A decorator for caching computed properties in classes. like Vue's Computed-Properties
TypeScript · 0 人关注
github-upload-assets
TypeScript · 0 人关注
let-html-csp-fail
0 人关注
lisonge
gu gu gu
HTML · 0 人关注
lisonge.gitHub.io
JavaScript · 0 人关注
src
cdn file
0 人关注
test
TypeScript · 0 人关注
test-hook-network
0 人关注
tiny-toys
some rainmeter skins
TypeScript · 0 人关注
unocss
The instant on-demand atomic CSS engine.
TypeScript · 0 人关注
vite-plugin-hmr-follow
JavaScript · 0 人关注
vite-plugin-polyfills
lisongeee

lisongeee

V2EX 第 546084 号会员,加入于 2021-05-23 15:55:44 +08:00
今日活跃度排名 1331
vscode git output emoji 部分不正常显示
问与答  •  lisongeee  •  2022-06-28 12:03:51 PM
油猴脚本 - npmjs 包内部文件的便捷查看
分享创造  •  lisongeee  •  2022-07-20 14:34:42 PM  •  最后回复来自 wsph123
7
如何在 windows 上同时安装多个不同版本的 chrome 呢?
问与答  •  lisongeee  •  2022-05-15 19:48:42 PM  •  最后回复来自 flynaj
26
什么才是开发油猴脚本最好的体验
分享创造  •  lisongeee  •  359 天前  •  最后回复来自 xpy0313
52
一个 vite 插件,基于 service worker 来自定义 hosts
分享创造  •  lisongeee  •  2022-03-29 09:59:46 AM  •  最后回复来自 lisongeee
11
一个 基于 cloudflare workers 和 vue ssr 的网络访问计数器
分享创造  •  lisongeee  •  2021-10-30 18:32:11 PM  •  最后回复来自 lisongeee
2
lisongeee 最近回复了
1 天前
回复了 xing393939 创建的主题 Vue.js 关于 vue3 用 ref 定义响应式的问题
ts 的应用场景之一就是这种代码,在 ts 里你的第一段代码会报编译错误
js 写页面还有一个在开发页面速度上其它语言无法相比的优点啊

那就是配合声明式 ui 框架 react/vue 和构建工具 vite/webpack 可以有 hot module replace 即 HMR

效果就是更改一个组件的文件后,页面无需重启直接就能看到更新后的组件渲染效果,这对开发速度提升得不是一点半点啊

上面说的那些 javafx compose 受制于语言特性都没有这个功能(或者是残废)啊,大项目改一个文件编译尼玛大半天然后重启进程还得手动点击回到原来页面的位置才能看到效果
我发现这个统计不会把自己创建的组织里的自己创建的仓库的 star 算进去
// esm
async function loadRemoteModule(url: string) {
return await import(url).then(mod=>mod.default)
}

// iife/umd
async function loadRemoteModule(url: string, exportGetter:()=>any) {
return await new Promise((resolve, reject) => {
const script = document.createElement('script');
script.src = url;
script.onload = () => {
resolve(exportGetter());
document.head.removeChild(script)
};
script.onerror = () => {
// 模块加载失败
reject(new Error(`Failed to load script from ${url}`));
document.head.removeChild(script)
};
document.head.appendChild(script);
});
}
4 天前
回复了 tuoniaoguoce 创建的主题 Windows 有没有 Windows 的开源应用商店
另外 F-Droid 上的应用均来自 F-Droid 服务器自构建

在 Windows 上的普遍方式是收集该软件的 GitHub release 下载链接
4 天前
回复了 tuoniaoguoce 创建的主题 Windows 有没有 Windows 的开源应用商店
4 天前
回复了 bug51 创建的主题 程序员 替代 gitee.io 托管国内版静态页面求教
好奇你的产品是什么呢?这个是不能直接在国内备案上线吗?是上线成本比较高吗?
4 天前
回复了 forQ 创建的主题 Android 太极宣布永久停更
@taoqian52 还有消息吗?是跑路了吗?如果你说的是假的,这算不算恶意造谣别人呢?
latestValue 不就是状态的当前值吗?

你是没理解我使用的 async/await 吗?我直接发你贴的代码转换之后的完整代码吧

```tsx
import { useState } from 'react';

export const DebugPage = () => {
const [submitting, setSubmitting] = useState(false);

const handleSubmit = async () => {
setSubmitting(true);

// 用 setTimeout 模拟异步请求
await new Promise((res) => setTimeout(res, 1000));

// 但是假如我需要在这里读取 submitting 当前的准确状态,要怎么做?有办法做到吗?
const latestSubmitting = await new Promise<boolean>((res) => {
setSubmitting((v) => (res(v), v));
});
console.log(latestSubmitting);
};

return (
<button onClick={handleSubmit}>
{submitting ? 'Submitting' : 'Submit'}
</button>
);
};

```
```js
const [submitting, setSubmitting] = useState(false);

const onClick = async () => {
setSubmitting(true);
const r = await fetch('/api/hello').then((r) => r.json());
const latestValue = await new Promise<boolean>((res) => {
setSubmitting((v) => (res(v), v));
});
console.log(latestValue)
};
```
关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   6096 人在线   最高记录 6679   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 41ms · UTC 02:52 · PVG 10:52 · LAX 19:52 · JFK 22:52
Developed with CodeLauncher
♥ Do have faith in what you're doing.