V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX  ›  ltaoo1o  ›  全部回复第 1 页 / 共 8 页
回复总数  151
1  2  3  4  5  6  7  8  
10 小时 46 分钟前
回复了 humbass 创建的主题 Node.js 求教: pm2 如何配置一个静态服务器
express 是 nodejs 框架,逻辑写在 app.js ,你说的 ecosystem.config.js 就不用做什么改动。
10 小时 48 分钟前
回复了 humbass 创建的主题 Node.js 求教: pm2 如何配置一个静态服务器
你可以问下 GPT express 静态服务,或者直接用 nginx ,python 起静态服务也很简单,方案很多。
@demonzoo #43 是的我承认我对 useEffect 的理解不对,语义这个算个人追求,它能让我在不同框架、语言,用一套思维去写前端,也能让代码有可迁移、可维护、更好理解,当然这也是个人追求,不这样做完全是可以的,尤其是公司项目,能写完就行。
最后忘了怎么做的,是公司项目,代码比较复杂。我自己项目是抛弃了 hook ,只把 react 当视图渲染用,没有这些问题。
17 小时 22 分钟前
回复了 sheeeran 创建的主题 分享创造 「送码」私人音乐云盘 app 接手做了一年,挺艰难的
做的很好,也很实用。

就我个人来说,我的音乐都存在 nas 和夸克、阿里云盘 上,我想同步到这个软件上比较麻烦,而且没有意愿去同步,我找歌曲都是找云盘资源,还要转一手。
另外付费,说实话没有到想付费的程度,一不能直接提供歌曲,二没有桌面端,三就是没法直连云盘。
@ljpCN #40 确实是我太菜了,我很多框架、语言都写,无论 vue 、flutter 还是 swift 这些,都是有明确的 组件加载后 的语义的,我也按这个习惯来写,导致对 react 这里不熟悉,抱歉抱歉,忽略了你的消息。
@ljpCN #39 抱歉是没看到,你的实现很巧妙,很厉害。
@demonzoo 哥,感谢你,可是不是我想要的 🤣 我在注释里写了不能依赖 handleKeydown 等,不然语义就变了,变成了「当 handleKeydown 」改变时,监听 keydown 事件。但是我希望表达的是「当页面加载后,监听事件」
1 天前
回复了 ltaoo1o 创建的主题 分享创造 一个用于展示自己赞赏者的工具网站
@Drumming cloudflare 似乎没有类似 vercel 一键部署的方案,网站部署在 vercel ,数据在 cloudflare 嘛 🤣 我去研究研究
@dango33 #32 我后面也说了,当我发现不对时,我就意识到哪里有问题,应该怎么写。但任何写法,都违背了我希望用代码表达的含义。其次,一个需要专门写文章来说明,并且还要发布新的 API 来支持更多场景的坑,不让人恼火吗,我写业务就够累了还要处处小心这种坑。
另外,我现在所有代码都是像你说的另外起实例,很少用 hook 了,像这样

```js
function HomePage() {
const [state, setState] = useState($page.state);
useEffect(() => {
$page.onStateChange((v) => setState(v));
$page.ready();
}, []);
return ();
}
```

这样写就不用考虑框架的坑了,有问题也是我自己的问题了。
1 天前
回复了 imba97 创建的主题 程序员 关于今天给前端返回数据的结构的争论
意思是,同一个接口,从有分页改成无分页,并且数据结构变了,还没有通知你,如果是这样,那肯定是后端的问题。

如果是两个列表接口,分别用于有分页和无分页,那这个正常。

我感觉你说的是情况一,后端的锅。
1 天前
回复了 490454744 创建的主题 阅读 微信读书有一丢丢离谱
没用过,这种限制可能藏在用户协议或某些不起眼的角落 🤣
大部分时间远程,就是说有时候要到北京工作,不是完全远程?
@dango33 完整看完了,这个教程不是证明了我说的吗,后面提到了 useEffectEvent ,一个「还没有发布的实验性 API 」,如果我用 useEffectEvent 包 log 就能解决我的问题,为什么要发布一个新的 hook ,就是有一些场景用 useEffect 解决不了。
另外,如果希望讨论,可以把你的观点明确地表达出来,我承认自己很菜,也欢迎讨论。
UI 看起来非常好看,功能也很完善。

我也做了一个几乎相同的,也是对段落进行 challenge ,不同的是我在 start challenge 前是让用户自己选难度,有 3 种,给出单词点击拼成句子;给出听力完整写出句子;给出句子要求口语发音;
我的数据来源是美剧,把一集美剧按场景切割成 n 个 challenge 。

这种方式很好,我自己用下来,最大的问题还是坚持不下去,我也想过很多「游戏化」的方式,包括增加道具来帮助答题、积分排行等等,但学习本身就是一件无趣的事情,除非有明确的目的,否则靠自驱学习很难。
@LOWINC 我理解你的意思,useEffecet(fn, []) 不能表达「当页面初始化后」,和 componentDidMount 不同,这也是我无语的一点,函数组件没有一个明确的函数、方式来表达「当页面、组件初始化后」。
现在社区普遍都将 useEffecet(fn, []) 作为「当页面初始化」的含义来用不是吗,如果不这么写,可以给我一个方案吗,我确实不懂该如何写
@shintendo #25 心智负担,而且代码会比较丑🤣
@ljpCN #21 额,语义是指业务逻辑,就比如我必须表达出「当页面加载后,监听回车」,在这个前提下,如何完成需求,你的代码非常好,没有问题。只是少了「当页面加载后」的这个含义。
@ljpCN 实现方式其实很多种,难的是保留语义的前提下。我希望我的代码,别人一看,就能明白是「当页面加载后,监听回车事件并 xxx 」,如果写在 input 标签,就变成了「当这个 input 回车时,xxx 」,这里的语义就丢失了。
当然代码能跑就行,「代码表达语义」仅仅是我个人的追求。
@TWorldIsNButThis #16 所以我说函数组件有额外的心智负担,容易出问题,感觉在和框架斗智斗勇 🤣
@shintendo #15 起作用的是这个刷新 log 函数的代码吧,而且 log 可能是一个比较复杂的函数,它要拿很多个状态进行处理,这里就要依赖 v1 v2 v3 等等,容易漏

```
useEffect(() => {
logRef.current = () => {
alert(v);
};
}, [v]);
```
1  2  3  4  5  6  7  8  
关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   6016 人在线   最高记录 6679   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 30ms · UTC 02:58 · PVG 10:58 · LAX 18:58 · JFK 21:58
Developed with CodeLauncher
♥ Do have faith in what you're doing.