V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX  ›  himself65  ›  全部回复第 1 页 / 共 12 页
回复总数  234
1  2  3  4  5  6  7  8  9  10 ... 12  
19 天前
回复了 fx 创建的主题 Node.js adonisjs 有没有现成的注册登录库?
better-auth 是目前 nodejs 里好用的鉴权库

https://www.better-auth.com/
一般规律就是离钱越远的项目(无论开源)代码质量越高
jotai ,我在维护

https://github.com/pmndrs/jotai
既然题主提到了 react 19 (带版本号),想请问用到了 19 哪些功能
虽然喜欢不喜欢 next.js 是个人观点,其次楼上的各种说法其实都有些事实错误。

首先你只需要在顶层的组件中开启 use client ,所有子组件也会判断为 client side component 。你们遇到这个问题绝对是每次创建新 page.tsx 的时候没有写 use client ,当然你也可以说“在每个文件”……

其次我个人觉得“选择任何 UI 框架,Astro 给你自动做静态渲染”这个看起来很牛逼的 propaganda 实际上会出很明显的 edge case ,你无法保证所有你写的组件或者你用的依赖都是面向静态的,我认为这会造成很多未预料的事情……当然写博客这种写一次用一辈子的项目可能并不需要考虑这些事情,但我觉得这个事情本身和 Next.js 默认 server side 本质上没有任何区别。

混合框架会很明显的导致整个客户端包体积显著上升,当然你全写的是静态那是另说,但另外我觉得如果一个项目能混用这么多 web 框架,那这个项目本身其实就有点炫技的成分在里面,哪有真产品一下子什么框架都有。

不过 选择性水合( partial hydration )这个事情我倒是很赞同,我目前在一个 react framework 里面也推进了这个特性,不过我觉得群岛概念这个属于新瓶装旧酒,没什么新奇的,你只不过是本来多套一层组件变成了 props 里的保留关键字。

另外我仔细阅读这个文档的时候发现了一个逻辑错误,https://docs.astro.build/zh-cn/guides/server-islands/#%E6%9C%8D%E5%8A%A1%E5%99%A8%E7%BE%A4%E5%B2%9B%E7%BB%84%E4%BB%B6
这里头像回退 GenericAvatar 的 slot fallback 虽然没有写放在哪里,但是我假定是 Avatar 的一个 children ,但是问题来了,如果做到不运行 Avatar 里面的请求代码的同时把 GenericAvatar 插进去。
LlamaIndex
> 并指导一二

这里面有很多可以深度挖掘的东西。

如果要深挖 React ,18 、19 出了这么多 API ,简单扫了一下你这里面大多数可以迁移到新的 API 优化一些(比如 useSyncExternalStore 、useTransition……),多读读官网 docs ,很多基本的 pitfall 全在你项目里面出现了一遍( deps 、useEffect……)

状态管理你都没有做,点一下按钮状态都丢了,这些你考虑过吗……

从工程化角度说,你这里面代码风格挺乱的,有时候 style 有时候 css in js ,文件命名……这下下来 eslint 、prettier 你有配吗

从前端角度说,这个项目目前是一个 CSR-only app ,你这个可以有 SSR 你可以尝试,React 出了 RSC 你可以尝试,Streaming UI 你可以做,怎么随便点一下整个屏幕都白了……另外 Vite 有很多自定义的 API 可以自己搭一个 server 玩玩……

随便说几句
只看 React 部分的话,写法有点过时了。
从整个前端质量看的话,属于是没有什么复杂度的 CRUD project ,里面也没有多少比较深的前端技术
2023-11-29 10:58:47 +08:00
回复了 rizon 创建的主题 React react 的严格模式下强制重新渲染引发的问题及解决方案及讨论
同意#15 的观点,你这个 React 用法是有问题的,你需要把 processor 的初始化放在 React 外面。举个例子

```ts
const processor = buildProcessor()
const Component =() => {}
```

如果不能 SSR 那就判断一下 typeof window === "undefined"。
如果是一个异步,包一个 use(promise)

useEffect 是连接外部状态的一个 hook ,那这个东西来初始化整个数据其实是不符合 React 的思路

https://react.dev/reference/react/useEffect#connecting-to-an-external-system

那这个举例,server 是 React UI 之外的已经有的东西,connection 才是 useEffect 去 establish 的事情
2023-10-19 16:46:30 +08:00
回复了 ChrisFreeMan 创建的主题 Node.js Web Components 2023 年 10 月份了,现在怎么样了
可以试试 lit 。
个人感觉大部分库对于 shadow dom 的支持还是很差的,
2023-10-18 08:37:39 +08:00
回复了 jake361 创建的主题 美国 如果要去 US 长期出差 6 个月,需要注意哪些问题...
作为在美国的来提点建议
1. 租车,除非你在像芝加哥、纽约这种大城市(公共交通间隔短且可以到达任何地方),如果你在西海岸,出门逛街吃饭一定要有个车,不然特别特别远,Uber 打车三四回也抵得上租一天车了。一般我推荐 Avis 。用国内驾照就可以租车(还需要给美国固定的地址和名字一样的信用卡)
2. 保险,租车保险医疗保险都得买上
3. 电话卡,Google Fi 这种比较简单,当然去 Best Buy 这种店也能买到电话卡
4. 付款,绝大多数店都支持 Apple Pay ,绑定 visa 或 master card 就行。也可在线下银行柜台办一张储蓄卡就能用( p.s. 储蓄卡不能拿来租车)
5. 多买点零食放冰箱,如果不是大城市,晚上不会有餐厅开门的,24 小时超市一般也很远
2023-08-05 09:02:54 +08:00
回复了 Livid 创建的主题 DOS 在 M1/M2 Mac 上完美运行 DOS 游戏
@reallynyn 帝国时代 4 用了 AVX 指令集,是无法模拟的
2023-07-28 02:34:30 +08:00
回复了 dog82 创建的主题 Java 安全 QA 说只允许 POST/GET 请求,其它的都不安全?
@Slurp 谢谢,我们项目用的是 graphql
2023-05-16 12:36:03 +08:00
回复了 lyc575757 创建的主题 分享创造 一个增强 console.log 可读性的 Vite 插件
这个 idea 不错,我提出几个建议:

1. 用 SWC 或者 babel 实现
2. 自定义 transform 的函数,因为实际生产环境大都是包装了一层 console.log ,比如( npm/debug 之类的)
2023-04-10 02:38:21 +08:00
回复了 Outshine 创建的主题 Next.js 关于 next.js 13 请求封装的最佳实践的疑问
swr 是一个网络无关的异步数据获取库,你可以拿来跑任何异步函数。
在你说的这个例子里面,你可以在顶层写一个 fetcher(key),包装了 fetch api ,然后三个部分都可以间接 /直接调用这个 API
2023-03-26 01:13:54 +08:00
回复了 djyde 创建的主题 程序员 28 岁,我还想生猛下去
大佬
2023-03-19 13:02:34 +08:00
回复了 himself65 创建的主题 程序员 被前 cofounder 骚扰
补充一下这人相关评价,让后面的人防止踩坑

https://www.ratemyprofessors.com/professor/2466282
2023-03-06 03:32:20 +08:00
回复了 Parker0 创建的主题 React React 小白学习过程中遇到技术问题
React 18.3.0 出了 OffScreen 组件之后,useEffect 不再保证空 deps 下只调用一次了,StrictMode 就是让告诉你不要瞎用这个 hook
2023-03-03 08:58:00 +08:00
回复了 terrychinaz 创建的主题 酷工作 affine.pro-intern.md
项目很酷。已经投了,希望暑假可以去实习
1  2  3  4  5  6  7  8  9  10 ... 12  
关于   ·   帮助文档   ·   自助推广系统   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   3403 人在线   最高记录 6679   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 59ms · UTC 00:08 · PVG 08:08 · LAX 17:08 · JFK 20:08
Developed with CodeLauncher
♥ Do have faith in what you're doing.